pub(crate) trait TlsListElement {
const SIZE_LEN: ListLength;
}Expand description
A trait for types that can be encoded and decoded in a list.
This trait is used to implement Codec for Vec<T>. Lists in the TLS wire format are
prefixed with a length, the size of which depends on the type of the list elements.
As such, the Codec implementation for Vec<T> requires an implementation of this trait
for its element type T.
Required Associated Constants§
const SIZE_LEN: ListLength
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl TlsListElement for CertificateDer<'_>
impl TlsListElement for CertificateDer<'_>
const SIZE_LEN: ListLength
Implementors§
Source§impl TlsListElement for CertificateCompressionAlgorithm
RFC8879: CertificateCompressionAlgorithm algorithms<2..2^8-2>;
impl TlsListElement for CertificateCompressionAlgorithm
RFC8879: CertificateCompressionAlgorithm algorithms<2..2^8-2>;
const SIZE_LEN: ListLength
Source§impl TlsListElement for CertificateEntry<'_>
impl TlsListElement for CertificateEntry<'_>
const SIZE_LEN: ListLength
Source§impl TlsListElement for CertificateType
RFC7250: CertificateType client_certificate_types<1..2^8-1>;
impl TlsListElement for CertificateType
RFC7250: CertificateType client_certificate_types<1..2^8-1>;
Ditto CertificateType server_certificate_types<1..2^8-1>;
const SIZE_LEN: ListLength
Source§impl TlsListElement for CipherSuite
RFC8446: CipherSuite cipher_suites<2..2^16-2>;
impl TlsListElement for CipherSuite
RFC8446: CipherSuite cipher_suites<2..2^16-2>;
const SIZE_LEN: ListLength
Source§impl TlsListElement for ClientCertificateType
RFC5246: ClientCertificateType certificate_types<1..2^8-1>;
impl TlsListElement for ClientCertificateType
RFC5246: ClientCertificateType certificate_types<1..2^8-1>;
const SIZE_LEN: ListLength
Source§impl TlsListElement for Compression
RFC5246: CompressionMethod compression_methods<1..2^8-1>;
impl TlsListElement for Compression
RFC5246: CompressionMethod compression_methods<1..2^8-1>;
const SIZE_LEN: ListLength
Source§impl TlsListElement for DistinguishedName
RFC8446: DistinguishedName authorities<3..2^16-1>; however,
RFC5246: DistinguishedName certificate_authorities<0..2^16-1>;
impl TlsListElement for DistinguishedName
RFC8446: DistinguishedName authorities<3..2^16-1>; however,
RFC5246: DistinguishedName certificate_authorities<0..2^16-1>;
const SIZE_LEN: ListLength = ListLength::U16
Source§impl TlsListElement for ECPointFormat
RFC8422: ECPointFormat ec_point_format_list<1..2^8-1>
impl TlsListElement for ECPointFormat
RFC8422: ECPointFormat ec_point_format_list<1..2^8-1>
const SIZE_LEN: ListLength
Source§impl TlsListElement for EchConfigExtension
impl TlsListElement for EchConfigExtension
const SIZE_LEN: ListLength = ListLength::U16
Source§impl TlsListElement for EchConfigPayload
impl TlsListElement for EchConfigPayload
const SIZE_LEN: ListLength = ListLength::U16
Source§impl TlsListElement for ExtensionType
draft-ietf-tls-esni-17: ExtensionType OuterExtensions<2..254>;
impl TlsListElement for ExtensionType
draft-ietf-tls-esni-17: ExtensionType OuterExtensions<2..254>;
const SIZE_LEN: ListLength
Source§impl TlsListElement for HpkeSymmetricCipherSuite
draft-ietf-tls-esni-24: HpkeSymmetricCipherSuite cipher_suites<4..2^16-4>;
impl TlsListElement for HpkeSymmetricCipherSuite
draft-ietf-tls-esni-24: HpkeSymmetricCipherSuite cipher_suites<4..2^16-4>;
const SIZE_LEN: ListLength
const SIZE_LEN: ListLength = ListLength::U16
Source§impl TlsListElement for NamedGroup
RFC8422: NamedCurve named_curve_list<2..2^16-1>
impl TlsListElement for NamedGroup
RFC8422: NamedCurve named_curve_list<2..2^16-1>
const SIZE_LEN: ListLength
const SIZE_LEN: ListLength
const SIZE_LEN: ListLength
Source§impl TlsListElement for ProtocolName
RFC7301: ProtocolName protocol_name_list<2..2^16-1>
impl TlsListElement for ProtocolName
RFC7301: ProtocolName protocol_name_list<2..2^16-1>
const SIZE_LEN: ListLength
Source§impl TlsListElement for ProtocolVersion
impl TlsListElement for ProtocolVersion
const SIZE_LEN: ListLength
Source§impl TlsListElement for PskKeyExchangeMode
impl TlsListElement for PskKeyExchangeMode
const SIZE_LEN: ListLength
Source§impl TlsListElement for ResponderId
RFC6066: ResponderID responder_id_list<0..2^16-1>;
impl TlsListElement for ResponderId
RFC6066: ResponderID responder_id_list<0..2^16-1>;
const SIZE_LEN: ListLength = ListLength::U16
Source§impl TlsListElement for SignatureScheme
RFC8446: SignatureScheme supported_signature_algorithms<2..2^16-2>;
impl TlsListElement for SignatureScheme
RFC8446: SignatureScheme supported_signature_algorithms<2..2^16-2>;