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", so this trait is not object safe.
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 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 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
Source§impl TlsListElement for ProtocolVersion
impl TlsListElement for ProtocolVersion
const SIZE_LEN: ListLength
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>;
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 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 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 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 PskKeyExchangeMode
impl TlsListElement for PskKeyExchangeMode
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 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 CertificateEntry<'_>
impl TlsListElement for CertificateEntry<'_>
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
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 ResponderId
RFC6066: ResponderID responder_id_list<0..2^16-1>;
impl TlsListElement for ResponderId
RFC6066: ResponderID responder_id_list<0..2^16-1>;