pub trait SearchWireCodec {
// Required methods
fn codec_id(&self) -> &str;
fn codec_version(&self) -> &str;
fn encode_request(
&self,
request: &SearchQuery,
limits: DecodeLimits,
) -> Result<Vec<u8>, SearchError>;
fn decode_config(
&self,
input: &[u8],
limits: DecodeLimits,
) -> Result<Datum, SearchError>;
fn decode_response(
&self,
input: &[u8],
request: &SearchQuery,
limits: DecodeLimits,
) -> Result<SearchPage, SearchError>;
}Expand description
Pure object-safe provider wire boundary. Implementations own syntax only.
Required Methods§
fn codec_id(&self) -> &str
fn codec_version(&self) -> &str
fn encode_request( &self, request: &SearchQuery, limits: DecodeLimits, ) -> Result<Vec<u8>, SearchError>
fn decode_config( &self, input: &[u8], limits: DecodeLimits, ) -> Result<Datum, SearchError>
fn decode_response( &self, input: &[u8], request: &SearchQuery, limits: DecodeLimits, ) -> Result<SearchPage, SearchError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".