1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
pub extern crate grpcio; extern crate self as bincode_grpc; pub extern crate tracing; pub mod bi_codec { use bytes::buf::{BufMut, BufMutExt}; use grpcio::MessageReader; use grpcio::Result; use serde::de::DeserializeOwned; use serde::Serialize; use std::io::{BufReader, BufWriter}; pub fn ser<M: Serialize, B: BufMut>(msg: &M, buf: &mut B) { bincode::serialize_into(BufWriter::new(buf.writer()), msg).expect("Writing message to buffer failed"); } pub fn de<M: DeserializeOwned>(reader: MessageReader) -> Result<M> { Ok(bincode::deserialize_from(BufReader::new(reader)).expect("Reading message from buffer failed")) } } pub use bincode_grpc_macro::{server, service};