use service_rpc::{RpcError, RpcResult, WireMessage}; use titan::{Message, MessageMeta}; pub fn encode(message: &M) -> RpcResult where M: MessageMeta + Message, { let payload = message .to_bytes() .map_err(|error| RpcError::Rejected(error.to_string()))?; Ok(WireMessage::new( M::MESSAGE_TYPE, M::MESSAGE_VERSION, payload, )) }