pub trait RequestReplyConnection: Send + Sync {
type RequestData;
type ReplyData;
type Error;
// Required method
fn request(
&mut self,
request: &Self::RequestData,
) -> Result<Self::ReplyData, Self::Error>;
}