pub trait Rpc: Serialize + DeserializeOwned {
type Request: Serialize + DeserializeOwned + From<Self>;
type Response: Serialize + DeserializeOwned;
// Required method
async fn handle(self) -> Result<Self::Response>;
// Provided methods
async fn exec(self, peer: &Peer) -> Result<Self::Response> { ... }
async fn remote(self) -> Result<Body> { ... }
}
Required Associated Types§
type Request: Serialize + DeserializeOwned + From<Self>
type Response: Serialize + DeserializeOwned
Required Methods§
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.