pub trait RpcMethodPrebuffered {
type Input;
type Output;
const METHOD_ID: u64;
// Required methods
fn encode_request(input: Self::Input) -> Result<Vec<u8>, Error>;
fn decode_request(request_bytes: &[u8]) -> Result<Self::Input, Error>;
fn encode_response(output: Self::Output) -> Result<Vec<u8>, Error>;
fn decode_response(response_bytes: &[u8]) -> Result<Self::Output, Error>;
}Required Associated Constants§
Required Associated Types§
Required Methods§
Sourcefn encode_request(input: Self::Input) -> Result<Vec<u8>, Error>
fn encode_request(input: Self::Input) -> Result<Vec<u8>, Error>
Encodes the request into a byte array.
Sourcefn decode_request(request_bytes: &[u8]) -> Result<Self::Input, Error>
fn decode_request(request_bytes: &[u8]) -> Result<Self::Input, Error>
Decodes raw request bytes into a typed request struct.
§Arguments
bytes- Serialized request payload.
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.