This package provides an implementation of the core for Apache Thrift. While not a complete implementation of all the required and recommended capabilities it is reasonably complete.
thrift
- Common type definitions for the Thrift stack.thrift/idl/*
- A Racket syntax for defining Thrift IDL in-line, and to generate Racket modules based upon an IDL.thrift/processor/*
- Implementations for common processor types..thrift/protocol/*
- Implementations for core protocol types.thrift/transport/*
- Implementations for core protocol types.
rthrift
- Used to generate Racket modules from Thrift IDL.
(require thrift/protocol/compact
thrift/transport/memory)
(define t (open-output-memory-transport))
(define p (encoder t))
((encoder-message-begin p) (message-header "mthod" 7 9))
((encoder-struct-begin p) "mthod_args")
((encoder-field-begin p) (field-header "name" type-string 1))
((encoder-string p) "simon")
((encoder-field-end p))
((encoder-field-begin p) (field-header "age" type-byte 2))
((encoder-byte p) 48)
((encoder-field-end p))
((encoder-field-begin p) (field-header "brilliant?" type-bool 3))
((encoder-boolean p) #f)
((encoder-field-end p))
((encoder-struct-end p))
((encoder-map-begin p) (map-header type-string type-int32 3))
((encoder-string p) "first")
((encoder-int32 p) 101)
((encoder-string p) "second")
((encoder-int32 p) 102)
((encoder-string p) "third")
((encoder-int32 p) 103)
((encoder-map-end p))
((encoder-message-end p))
(write (transport-output-bytes t))
- To install (from within the package directory):
raco pkg install
- To install (once uploaded to pkgs.racket-lang.org):
raco pkg install thrift
- To uninstall:
raco pkg remove thrift
- To view documentation:
raco docs thrift
- 1.0 - Initial Stable Version