Trait Encoder

Source
pub trait Encoder {
    // Required methods
    fn encoded_size(&self) -> u32;
    fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>;

    // Provided methods
    fn encoded_size_version_2(&self) -> u32 { ... }
    fn encode_version_2(
        &self,
        writer: &mut impl Write,
    ) -> Result<(), EncodeError> { ... }
}

Required Methods§

Source

fn encoded_size(&self) -> u32

Source

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Provided Methods§

Source

fn encoded_size_version_2(&self) -> u32

Source

fn encode_version_2(&self, writer: &mut impl Write) -> Result<(), EncodeError>

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.

Implementations on Foreign Types§

Source§

impl Encoder for &str

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for Option<String>

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for i8

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for i32

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for i64

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for u8

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for u16

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for u32

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for u64

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for Vec<u8>

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for Vec<u16>

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for Vec<u32>

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for Vec<u64>

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for Vec<ExchangeCommandVersion>

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for Vec<Broker>

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for Vec<StreamMetadata>

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for Vec<PublishedMessage>

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

fn encoded_size_version_2(&self) -> u32

Source§

fn encode_version_2(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for Vec<PublishingError>

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for Vec<String>

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Source§

impl Encoder for HashMap<String, String>

Source§

fn encoded_size(&self) -> u32

Source§

fn encode(&self, writer: &mut impl Write) -> Result<(), EncodeError>

Implementors§

Source§

impl Encoder for OffsetSpecification

Source§

impl Encoder for RequestKind

Source§

impl Encoder for ResponseCode

Source§

impl Encoder for CloseRequest

Source§

impl Encoder for CloseResponse

Source§

impl Encoder for ConsumerUpdateCommand

Source§

impl Encoder for ConsumerUpdateRequestCommand

Source§

impl Encoder for CreateStreamCommand

Source§

impl Encoder for CreateSuperStreamCommand

Source§

impl Encoder for CreditCommand

Source§

impl Encoder for CreditResponse

Source§

impl Encoder for DeclarePublisherCommand

Source§

impl Encoder for Delete

Source§

impl Encoder for DeletePublisherCommand

Source§

impl Encoder for DeleteSuperStreamCommand

Source§

impl Encoder for DeliverCommand

Source§

impl Encoder for ExchangeCommandVersion

Source§

impl Encoder for ExchangeCommandVersionsRequest

Source§

impl Encoder for ExchangeCommandVersionsResponse

Source§

impl Encoder for GenericResponse

Source§

impl Encoder for HeartBeatCommand

Source§

impl Encoder for HeartbeatResponse

Source§

impl Encoder for Broker

Source§

impl Encoder for MetadataCommand

Source§

impl Encoder for MetadataResponse

Source§

impl Encoder for StreamMetadata

Source§

impl Encoder for MetadataUpdateCommand

Source§

impl Encoder for OpenCommand

Source§

impl Encoder for PeerPropertiesCommand

Source§

impl Encoder for PublishCommand

Source§

impl Encoder for PublishConfirm

Source§

impl Encoder for PublishErrorResponse

Source§

impl Encoder for QueryOffsetRequest

Source§

impl Encoder for QueryOffsetResponse

Source§

impl Encoder for QueryPublisherRequest

Source§

impl Encoder for QueryPublisherResponse

Source§

impl Encoder for SaslAuthenticateCommand

Source§

impl Encoder for SaslHandshakeCommand

Source§

impl Encoder for StoreOffset

Source§

impl Encoder for SubscribeCommand

Source§

impl Encoder for SuperStreamPartitionsRequest

Source§

impl Encoder for SuperStreamPartitionsResponse

Source§

impl Encoder for SuperStreamRouteRequest

Source§

impl Encoder for SuperStreamRouteResponse

Source§

impl Encoder for TunesCommand

Source§

impl Encoder for UnSubscribeCommand

Source§

impl Encoder for Message

Source§

impl Encoder for Request

Source§

impl Encoder for Header

Source§

impl Encoder for PublishedMessage

Source§

impl Encoder for PublishingError