A fork project of thehydroimpulse/thrust: Thrift RPC in Rust (Async I/O) http://thehydroimpulse.github.io/thrust to integrate with tokio-rs/tokio: Asynchronous I/O for Rust.
UNDER DEVELOPMENT, NOT READY TO USE
-
bool
-
byte
-
i8
-
i16
-
i32
-
i64
-
double
-
string
-
bynary
-
list
-
set
-
map
-
int
-
double
-
literal
-
list
-
map
- comment
- requiredness
-
required
-
optional
- implicit (always infered to
required
)
-
-
namespace
-
include
-
const
(see Constants for concrete supported literal) -
typedef
-
struct
-
enum
-
VARIANT = n
-
-
union
-
exception
-
service
-
extends
-
function
-
oneway
-
void
-
throws
-
required
-
optional
-
-
and at service
, exception handling is not so matured that the server may hung when it received corrupted data.
- Command (
tokio-thrift
command) [x] compiler plugin (abandaned because not so usefulthrift!
,thrift_file!
macro)- build.rs (see example build.rs)
- protocol
- binary protocol
- transport
- tokio integrated async TCP transport (framed transport)
Currently, framed transport supports only binary protocol.
Note again that this project is NOT READY TO USE.
First, checkout this project and install the binary
git clone https://github.com/KeenS/tokio-thrift
cd tokio-thrift/tokio-thrift-bin
cargo install
then, run this command in your project to generate rust file
tokio-thrift your_file.thrift src/
see example build.rs
and in both cases, write below at your Cargo.toml
[dependencies]
tokio-thrift = {path = "path/to/tokio-thrift/tokio-thrift-lib"}
see examples.
MIT. See LICENSE.