pub trait MessageOps: Sized + Sealed {
// Required methods
fn kind(&self) -> MessageKind;
fn serialize_message(self) -> Result<BytesMut, MessageSerializeError>;
fn deserialize_message(
buf: BytesMut,
) -> Result<Self, MessageDeserializeError>;
fn value(&self) -> Option<&SerializedValueSlice>;
fn value_mut(&mut self) -> Option<&mut SerializedValue>;
// Provided method
fn convert_value(
&mut self,
from: Option<ProtocolVersion>,
to: ProtocolVersion,
) -> Result<(), ValueConversionError> { ... }
}Required Methods§
fn kind(&self) -> MessageKind
fn serialize_message(self) -> Result<BytesMut, MessageSerializeError>
fn deserialize_message(buf: BytesMut) -> Result<Self, MessageDeserializeError>
fn value(&self) -> Option<&SerializedValueSlice>
fn value_mut(&mut self) -> Option<&mut SerializedValue>
Provided Methods§
fn convert_value( &mut self, from: Option<ProtocolVersion>, to: ProtocolVersion, ) -> Result<(), ValueConversionError>
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.