Trait rustls::internal::msgs::codec::Codec[][src]

pub trait Codec: Debug + Sized {
    fn encode(&self, bytes: &mut Vec<u8>);
fn read(_: &mut Reader<'_>) -> Option<Self>; fn get_encoding(&self) -> Vec<u8> { ... }
fn read_bytes(bytes: &[u8]) -> Option<Self> { ... } }
Expand description

Things we can encode and read from a Reader.

Required methods

fn encode(&self, bytes: &mut Vec<u8>)[src]

Encode yourself by appending onto bytes.

fn read(_: &mut Reader<'_>) -> Option<Self>[src]

Decode yourself by fiddling with the Reader. Return Some if it worked, None if not.

Provided methods

fn get_encoding(&self) -> Vec<u8>[src]

Convenience function to get the results of encode().

fn read_bytes(bytes: &[u8]) -> Option<Self>[src]

Read one of these from the front of bytes and return it.

Implementations on Foreign Types

impl Codec for u8[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<u8>[src]

impl Codec for u16[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<u16>[src]

impl Codec for u32[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<u32>[src]

impl Codec for u64[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<u64>[src]

Implementors

impl Codec for AlertDescription[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for AlertLevel[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for CertificateStatusType[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for CipherSuite[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for ClientCertificateType[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for Compression[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for ContentType[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for ECCurveType[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for ECPointFormat[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for ExtensionType[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for HandshakeType[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for HashAlgorithm[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for HeartbeatMessageType[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for HeartbeatMode[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for KeyUpdateRequest[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for NamedCurve[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for NamedGroup[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for PSKKeyExchangeMode[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for ProtocolVersion[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for ServerNameType[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for SignatureAlgorithm[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for SignatureScheme[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Self>[src]

impl Codec for CertReqExtension[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<CertReqExtension>[src]

impl Codec for CertificateExtension[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<CertificateExtension>[src]

impl Codec for CertificateStatusRequest[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<CertificateStatusRequest>[src]

impl Codec for ClientExtension[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ClientExtension>[src]

impl Codec for HelloRetryExtension[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<HelloRetryExtension>[src]

impl Codec for NewSessionTicketExtension[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<NewSessionTicketExtension>[src]

impl Codec for ServerExtension[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ServerExtension>[src]

impl Codec for ServerKeyExchangePayload[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ServerKeyExchangePayload>[src]

impl Codec for Certificate[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Certificate>[src]

impl Codec for AlertMessagePayload[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<AlertMessagePayload>[src]

impl Codec for Payload[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Payload>[src]

impl Codec for PayloadU8[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<PayloadU8>[src]

impl Codec for PayloadU16[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<PayloadU16>[src]

impl Codec for PayloadU24[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<PayloadU24>[src]

impl Codec for ChangeCipherSpecPayload[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ChangeCipherSpecPayload>[src]

impl Codec for CertificateEntry[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<CertificateEntry>[src]

impl Codec for CertificatePayloadTLS13[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<CertificatePayloadTLS13>[src]

impl Codec for CertificateRequestPayload[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<CertificateRequestPayload>[src]

impl Codec for CertificateRequestPayloadTLS13[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<CertificateRequestPayloadTLS13>[src]

impl Codec for CertificateStatus[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<CertificateStatus>[src]

impl Codec for ClientECDHParams[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ClientECDHParams>[src]

impl Codec for ClientHelloPayload[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ClientHelloPayload>[src]

impl Codec for DigitallySignedStruct[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<DigitallySignedStruct>[src]

impl Codec for ECDHEServerKeyExchange[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ECDHEServerKeyExchange>[src]

impl Codec for ECParameters[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ECParameters>[src]

impl Codec for HandshakeMessagePayload[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<HandshakeMessagePayload>[src]

impl Codec for HelloRetryRequest[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<HelloRetryRequest>[src]

impl Codec for KeyShareEntry[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<KeyShareEntry>[src]

impl Codec for NewSessionTicketPayload[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<NewSessionTicketPayload>[src]

impl Codec for NewSessionTicketPayloadTLS13[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<NewSessionTicketPayloadTLS13>[src]

impl Codec for OCSPCertificateStatusRequest[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<OCSPCertificateStatusRequest>[src]

impl Codec for PresharedKeyIdentity[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<PresharedKeyIdentity>[src]

impl Codec for PresharedKeyOffer[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<PresharedKeyOffer>[src]

impl Codec for Random[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<Random>[src]

impl Codec for ServerECDHParams[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ServerECDHParams>[src]

impl Codec for ServerHelloPayload[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ServerHelloPayload>[src]

impl Codec for ServerName[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ServerName>[src]

impl Codec for SessionID[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<SessionID>[src]

impl Codec for Message[src]

fn read(r: &mut Reader<'_>) -> Option<Message>[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

impl Codec for ClientSessionKey[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(_r: &mut Reader<'_>) -> Option<ClientSessionKey>[src]

impl Codec for ClientSessionValue[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ClientSessionValue>[src]

impl Codec for ServerSessionValue[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ServerSessionValue>[src]

impl Codec for u24[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<u24>[src]

impl Codec for CertReqExtensions[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<CertReqExtensions>[src]

impl Codec for CertificateExtensions[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<CertificateExtensions>[src]

impl Codec for CertificatePayload[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<CertificatePayload>[src]

impl Codec for ClientCertificateTypes[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ClientCertificateTypes>[src]

impl Codec for ECPointFormatList[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ECPointFormatList>[src]

impl Codec for EncryptedExtensions[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<EncryptedExtensions>[src]

impl Codec for KeyShareEntries[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<KeyShareEntries>[src]

impl Codec for NamedGroups[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<NamedGroups>[src]

impl Codec for NewSessionTicketExtensions[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<NewSessionTicketExtensions>[src]

impl Codec for PSKKeyExchangeModes[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<PSKKeyExchangeModes>[src]

impl Codec for PresharedKeyIdentities[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<PresharedKeyIdentities>[src]

impl Codec for ProtocolVersions[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ProtocolVersions>[src]

impl Codec for ServerNameRequest[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<ServerNameRequest>[src]

impl Codec for SupportedSignatureSchemes[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<SupportedSignatureSchemes>[src]

impl Codec for VecU16OfPayloadU8[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<VecU16OfPayloadU8>[src]

impl Codec for VecU16OfPayloadU16[src]

fn encode(&self, bytes: &mut Vec<u8>)[src]

fn read(r: &mut Reader<'_>) -> Option<VecU16OfPayloadU16>[src]