Trait tls_codec::Serialize

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

    // Provided method
    fn tls_serialize_detached(&self) -> Result<Vec<u8>, 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: Write>(&self, writer: &mut W) -> Result<usize, Error>

Available on crate feature std only.

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>, Error>

Available on crate feature std only.

Serialize self and return it as a byte vector.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Serialize for &u8

source§

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

Available on crate feature std only.
source§

impl Serialize for &u16

source§

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

Available on crate feature std only.
source§

impl Serialize for &u32

source§

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

Available on crate feature std only.
source§

impl Serialize for &u64

source§

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

Available on crate feature std only.
source§

impl Serialize for u8

source§

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

Available on crate feature std only.
source§

impl Serialize for u16

source§

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

Available on crate feature std only.
source§

impl Serialize for u32

source§

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

Available on crate feature std only.
source§

impl Serialize for u64

source§

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

Available on crate feature std only.
source§

impl Serialize for ()

source§

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

Available on crate feature std only.
source§

impl<T> Serialize for PhantomData<T>

source§

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

Available on crate feature std only.
source§

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

source§

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

Available on crate feature std only.
source§

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

source§

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

Available on crate feature std only.
source§

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

Available on crate feature std only.
source§

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

source§

impl<T: Serialize + Debug> Serialize for Vec<T>

Available on crate feature std only.
source§

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

source§

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

source§

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

Available on crate feature std only.
source§

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

source§

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

Available on crate feature std only.
source§

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

source§

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

Available on crate feature std only.

Implementors§

source§

impl Serialize for &TlsByteVecU8

source§

impl Serialize for &TlsByteVecU16

source§

impl Serialize for &TlsByteVecU24

source§

impl Serialize for &TlsByteVecU32

source§

impl Serialize for &U24

source§

impl Serialize for &VLBytes

Available on crate feature std only.
source§

impl Serialize for SecretVLBytes

Available on crate feature std only.
source§

impl Serialize for TlsByteVecU8

source§

impl Serialize for TlsByteVecU16

source§

impl Serialize for TlsByteVecU24

source§

impl Serialize for TlsByteVecU32

source§

impl Serialize for U24

source§

impl Serialize for VLBytes

Available on crate feature std only.
source§

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

source§

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

source§

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

source§

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

source§

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

Available on crate feature std only.
source§

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

source§

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

source§

impl<'a> Serialize for TlsByteSliceU24<'a>

source§

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

source§

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

Available on crate feature std only.
source§

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

source§

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

source§

impl<'a, T: Serialize> Serialize for &TlsSliceU24<'a, T>

source§

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

source§

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

source§

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

source§

impl<'a, T: Serialize> Serialize for TlsSliceU24<'a, T>

source§

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

source§

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

source§

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

source§

impl<T: Zeroize + Serialize> Serialize for &SecretTlsVecU24<T>

source§

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

source§

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

source§

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

source§

impl<T: Zeroize + Serialize> Serialize for SecretTlsVecU24<T>

source§

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

source§

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

source§

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

source§

impl<T: Serialize> Serialize for &TlsVecU24<T>

source§

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

source§

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

source§

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

source§

impl<T: Serialize> Serialize for TlsVecU24<T>

source§

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