pub trait TlsSerializeTrait: Size {
    // Required method
    fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>
       where W: Write;

    // Provided method
    fn tls_serialize_detached(&self) -> Result<Vec<u8, Global>, Error> { ... }
}
Expand description

The Serialize trait provides functions to serialize a struct or enum.

The trait provides two functions:

  • tls_serialize that takes a buffer to write the serialization to
  • tls_serialize_detached that returns a byte vector

Required Methods§

source

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

Serialize self and write it to the writer. The function returns the number of bytes written to writer.

Provided Methods§

source

fn tls_serialize_detached(&self) -> Result<Vec<u8, Global>, Error>

Serialize self and return it as a byte vector.

Implementations on Foreign Types§

source§

impl<T> Serialize for Vec<T, Global>where T: Serialize + Debug,

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl<T, U, V> Serialize for (T, U, V)where T: Serialize, U: Serialize, V: Serialize,

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl<T> Serialize for &[T]where T: Serialize + Debug,

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl Serialize for &u32

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl Serialize for &u64

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl Serialize for &u8

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl Serialize for &u16

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl<T> Serialize for Option<T>where T: Serialize,

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl Serialize for u32

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl Serialize for u16

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl<const LEN: usize> Serialize for [u8; LEN]

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl Serialize for u64

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl Serialize for u8

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl<T> Serialize for &Option<T>where T: Serialize,

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

source§

impl<T> Serialize for PhantomData<T>

source§

fn tls_serialize<W>(&self, _: &mut W) -> Result<usize, Error>where W: Write,

source§

impl Serialize for ()

source§

fn tls_serialize<W>(&self, _: &mut W) -> Result<usize, Error>where W: Write,

source§

impl<T, U> Serialize for (T, U)where T: Serialize, U: Serialize,

source§

fn tls_serialize<W>(&self, writer: &mut W) -> Result<usize, Error>where W: Write,

Implementors§

source§

impl Serialize for &Extension

source§

impl Serialize for &ContentType

source§

impl Serialize for &Sender

source§

impl Serialize for &WireFormat

source§

impl Serialize for &Proposal

source§

impl Serialize for &ProposalOrRefType

source§

impl Serialize for &ProposalIn

source§

impl Serialize for &Psk

source§

impl Serialize for &ResumptionPskUsage

source§

impl Serialize for &Node

source§

impl Serialize for &ProtocolVersion

source§

impl Serialize for &Ciphersuite

source§

impl Serialize for &SignatureScheme

source§

impl Serialize for &HashReference

source§

impl Serialize for &SignContent

source§

impl Serialize for &Signature

source§

impl Serialize for &SignaturePublicKey

source§

impl Serialize for &BasicCredential

source§

impl Serialize for &ApplicationIdExtension

source§

impl Serialize for &ExternalPubExtension

source§

impl Serialize for &ExternalSender

source§

impl Serialize for &RatchetTreeExtension

source§

impl Serialize for &RequiredCapabilitiesExtension

source§

impl Serialize for &SenderExtensionIndex

source§

impl Serialize for &MlsMessageOut

source§

impl Serialize for &PrivateMessage

source§

impl Serialize for &PrivateMessageIn

source§

impl Serialize for &GroupContext

source§

impl Serialize for &GroupEpoch

source§

impl Serialize for &GroupId

source§

impl Serialize for &KeyPackageIn

source§

impl Serialize for &KeyPackage

source§

impl Serialize for &Lifetime

source§

impl Serialize for &GroupInfo

source§

impl Serialize for &AddProposal

source§

impl Serialize for &AppAckProposal

source§

impl Serialize for &ExternalInitProposal

source§

impl Serialize for &GroupContextExtensionProposal

source§

impl Serialize for &PreSharedKeyProposal

source§

impl Serialize for &ReInitProposal

source§

impl Serialize for &RemoveProposal

source§

impl Serialize for &UpdateProposal

source§

impl Serialize for &AddProposalIn

source§

impl Serialize for &UpdateProposalIn

source§

impl Serialize for &ConfirmationTag

source§

impl Serialize for &EncryptedGroupSecrets

source§

impl Serialize for &Welcome

source§

impl Serialize for &ExternalPsk

source§

impl Serialize for &PreSharedKeyId

source§

impl Serialize for &ResumptionPsk

source§

impl Serialize for &EncryptionKey

source§

impl Serialize for &LeafNode

source§

impl Serialize for &ParentNode

source§

impl Serialize for &RatchetTree

source§

impl Serialize for &RatchetTreeIn

source§

impl Serialize for &VLBytes

source§

impl Serialize for &TlsByteVecU8

source§

impl Serialize for &TlsByteVecU16

source§

impl Serialize for &TlsByteVecU32

source§

impl Serialize for &Capabilities

source§

impl Serialize for &HpkeCiphertext

source§

impl Serialize for &HpkePrivateKey

source§

impl Serialize for &LeafNodeIndex

source§

impl Serialize for &VerifiableCiphersuite

source§

impl Serialize for CredentialType

source§

impl Serialize for Extension

source§

impl Serialize for ExtensionType

source§

impl Serialize for ContentType

source§

impl Serialize for Sender

source§

impl Serialize for WireFormat

source§

impl Serialize for Proposal

source§

impl Serialize for ProposalOrRefType

source§

impl Serialize for ProposalType

source§

impl Serialize for ProposalIn

source§

impl Serialize for Psk

source§

impl Serialize for ResumptionPskUsage

source§

impl Serialize for Node

source§

impl Serialize for ProtocolVersion

source§

impl Serialize for Ciphersuite

source§

impl Serialize for SignatureScheme

source§

impl Serialize for HashReference

source§

impl Serialize for SignContent

source§

impl Serialize for Signature

source§

impl Serialize for SignaturePublicKey

source§

impl Serialize for BasicCredential

source§

impl Serialize for Credential

source§

impl Serialize for ApplicationIdExtension

source§

impl Serialize for Extensions

source§

impl Serialize for ExternalPubExtension

source§

impl Serialize for ExternalSender

source§

impl Serialize for RatchetTreeExtension

source§

impl Serialize for RequiredCapabilitiesExtension

source§

impl Serialize for SenderExtensionIndex

source§

impl Serialize for MlsMessageOut

source§

impl Serialize for PrivateMessage

source§

impl Serialize for PrivateMessageIn

source§

impl Serialize for PublicMessage

source§

impl Serialize for PublicMessageIn

source§

impl Serialize for GroupContext

source§

impl Serialize for GroupEpoch

source§

impl Serialize for GroupId

source§

impl Serialize for KeyPackageIn

source§

impl Serialize for KeyPackage

source§

impl Serialize for Lifetime

source§

impl Serialize for GroupInfo

source§

impl Serialize for AddProposal

source§

impl Serialize for AppAckProposal

source§

impl Serialize for ExternalInitProposal

source§

impl Serialize for GroupContextExtensionProposal

source§

impl Serialize for PreSharedKeyProposal

source§

impl Serialize for ReInitProposal

source§

impl Serialize for RemoveProposal

source§

impl Serialize for UpdateProposal

source§

impl Serialize for AddProposalIn

source§

impl Serialize for UpdateProposalIn

source§

impl Serialize for ConfirmationTag

source§

impl Serialize for EncryptedGroupSecrets

source§

impl Serialize for Welcome

source§

impl Serialize for ExternalPsk

source§

impl Serialize for PreSharedKeyId

source§

impl Serialize for ResumptionPsk

source§

impl Serialize for EncryptionKey

source§

impl Serialize for LeafNode

source§

impl Serialize for ParentNode

source§

impl Serialize for RatchetTree

source§

impl Serialize for RatchetTreeIn

source§

impl Serialize for SecretVLBytes

source§

impl Serialize for VLBytes

source§

impl Serialize for TlsByteVecU8

source§

impl Serialize for TlsByteVecU16

source§

impl Serialize for TlsByteVecU32

source§

impl Serialize for Capabilities

source§

impl Serialize for HpkeCiphertext

source§

impl Serialize for HpkePrivateKey

source§

impl Serialize for LeafNodeIndex

source§

impl Serialize for VerifiableCiphersuite

source§

impl<'a> Serialize for &VLByteSlice<'a>

source§

impl<'a> Serialize for &TlsByteSliceU8<'a>

source§

impl<'a> Serialize for &TlsByteSliceU16<'a>

source§

impl<'a> Serialize for &TlsByteSliceU32<'a>

source§

impl<'a> Serialize for VLByteSlice<'a>

source§

impl<'a> Serialize for TlsByteSliceU8<'a>

source§

impl<'a> Serialize for TlsByteSliceU16<'a>

source§

impl<'a> Serialize for TlsByteSliceU32<'a>

source§

impl<'a, T> Serialize for &TlsSliceU8<'a, T>where T: Serialize,

source§

impl<'a, T> Serialize for &TlsSliceU16<'a, T>where T: Serialize,

source§

impl<'a, T> Serialize for &TlsSliceU32<'a, T>where T: Serialize,

source§

impl<'a, T> Serialize for TlsSliceU8<'a, T>where T: Serialize,

source§

impl<'a, T> Serialize for TlsSliceU16<'a, T>where T: Serialize,

source§

impl<'a, T> Serialize for TlsSliceU32<'a, T>where T: Serialize,

source§

impl<T> Serialize for &SecretTlsVecU8<T>where T: Zeroize + Serialize,

source§

impl<T> Serialize for &SecretTlsVecU16<T>where T: Zeroize + Serialize,

source§

impl<T> Serialize for &SecretTlsVecU32<T>where T: Zeroize + Serialize,

source§

impl<T> Serialize for &TlsVecU8<T>where T: Serialize,

source§

impl<T> Serialize for &TlsVecU16<T>where T: Serialize,

source§

impl<T> Serialize for &TlsVecU32<T>where T: Serialize,

source§

impl<T> Serialize for SecretTlsVecU8<T>where T: Zeroize + Serialize,

source§

impl<T> Serialize for SecretTlsVecU16<T>where T: Zeroize + Serialize,

source§

impl<T> Serialize for SecretTlsVecU32<T>where T: Zeroize + Serialize,

source§

impl<T> Serialize for TlsVecU8<T>where T: Serialize,

source§

impl<T> Serialize for TlsVecU16<T>where T: Serialize,

source§

impl<T> Serialize for TlsVecU32<T>where T: Serialize,