pub trait ListenConnection: Send + Sync {
type RequestData;
type ReplyData;
type Error;
// Required method
fn handle_next(
&mut self,
handler: Box<dyn FnOnce(Self::RequestData) -> Result<Self::ReplyData, Self::Error>>
) -> Result<(), Self::Error>;
}