pub trait Rpc<'r> {
type Arguments: Serialize;
type OkResult: 'r;
type Error: From<()> + 'r;
// Required methods
fn method(&self) -> &'static str;
fn request(&self) -> Envelope<'_, Self::Arguments>;
fn response(
&self,
response: &'r BytesFrame,
) -> Result<Self::OkResult, Self::Error>;
}