Thrift implementation in Rust