Trait DeserializeBytes
pub trait DeserializeBytes: Size {
// Required method
fn tls_deserialize_bytes(bytes: &[u8]) -> Result<(Self, &[u8]), Error>
where Self: Sized;
// Provided method
fn tls_deserialize_exact_bytes(bytes: &[u8]) -> Result<Self, Error>
where Self: Sized { ... }
}Available on 32-bit or 64-bit only.
Expand description
The DeserializeBytes trait defines functions to deserialize a byte slice
to a struct or enum. In contrast to [Deserialize], this trait operates
directly on byte slices and can return any remaining bytes.
Required Methods§
fn tls_deserialize_bytes(bytes: &[u8]) -> Result<(Self, &[u8]), Error>where
Self: Sized,
fn tls_deserialize_bytes(bytes: &[u8]) -> Result<(Self, &[u8]), Error>where
Self: Sized,
This function deserializes the bytes from the provided a &[u8]
and returns the populated struct, as well as the remaining slice.
In order to get the amount of bytes read, use Size::tls_serialized_len.
Returns an error if one occurs during deserialization.
Provided Methods§
fn tls_deserialize_exact_bytes(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
fn tls_deserialize_exact_bytes(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
This function deserializes the provided bytes and returns the populated
struct. All bytes must be consumed.
Returns an error if not all bytes are read from the input, or if an error occurs during deserialization.
Implementations on Foreign Types§
§impl DeserializeBytes for u8
impl DeserializeBytes for u8
§impl DeserializeBytes for u16
impl DeserializeBytes for u16
§impl DeserializeBytes for u32
impl DeserializeBytes for u32
§impl DeserializeBytes for u64
impl DeserializeBytes for u64
§impl DeserializeBytes for ()
impl DeserializeBytes for ()
§impl DeserializeBytes for SignatureKeyPair
impl DeserializeBytes for SignatureKeyPair
§impl<T> DeserializeBytes for Option<T>where
T: DeserializeBytes,
impl<T> DeserializeBytes for Option<T>where
T: DeserializeBytes,
§impl<T> DeserializeBytes for Box<T>where
T: DeserializeBytes,
impl<T> DeserializeBytes for Box<T>where
T: DeserializeBytes,
§impl<T> DeserializeBytes for Vec<T>where
T: DeserializeBytes,
impl<T> DeserializeBytes for Vec<T>where
T: DeserializeBytes,
§impl<T> DeserializeBytes for PhantomData<T>
impl<T> DeserializeBytes for PhantomData<T>
fn tls_deserialize_bytes(bytes: &[u8]) -> Result<(PhantomData<T>, &[u8]), Error>
§impl<T, U> DeserializeBytes for (T, U)where
T: DeserializeBytes,
U: DeserializeBytes,
impl<T, U> DeserializeBytes for (T, U)where
T: DeserializeBytes,
U: DeserializeBytes,
§impl<T, U, V> DeserializeBytes for (T, U, V)
impl<T, U, V> DeserializeBytes for (T, U, V)
§impl<const LEN: usize> DeserializeBytes for [u8; LEN]
impl<const LEN: usize> DeserializeBytes for [u8; LEN]
Implementors§
impl DeserializeBytes for CredentialType
impl DeserializeBytes for Extension
impl DeserializeBytes for ExtensionType
impl DeserializeBytes for ContentType
impl DeserializeBytes for MlsMessageBodyIn
impl DeserializeBytes for Sender
impl DeserializeBytes for WireFormat
impl DeserializeBytes for ProposalOrRefType
impl DeserializeBytes for ProposalType
impl DeserializeBytes for ProposalIn
impl DeserializeBytes for Psk
impl DeserializeBytes for ResumptionPskUsage
impl DeserializeBytes for Ciphersuite
impl DeserializeBytes for FrankenContentType
Available on crate features
test-utils only.impl DeserializeBytes for FrankenExtension
Available on crate features
test-utils only.impl DeserializeBytes for FrankenExtensionType
Available on crate features
test-utils only.impl DeserializeBytes for FrankenFramedContentBody
Available on crate features
test-utils only.impl DeserializeBytes for FrankenLeafNodeSource
Available on crate features
test-utils only.impl DeserializeBytes for FrankenMlsMessageBody
Available on crate features
test-utils only.impl DeserializeBytes for FrankenNode
Available on crate features
test-utils only.impl DeserializeBytes for FrankenProposal
Available on crate features
test-utils only.impl DeserializeBytes for FrankenProposalOrRef
Available on crate features
test-utils only.impl DeserializeBytes for FrankenProposalType
Available on crate features
test-utils only.impl DeserializeBytes for FrankenPsk
Available on crate features
test-utils only.impl DeserializeBytes for FrankenResumptionPskUsage
Available on crate features
test-utils only.impl DeserializeBytes for FrankenSender
Available on crate features
test-utils only.impl DeserializeBytes for LeafNodeSource
impl DeserializeBytes for ProtocolVersion
impl DeserializeBytes for SignatureScheme
impl DeserializeBytes for HashReference
impl DeserializeBytes for SignContent
impl DeserializeBytes for Signature
impl DeserializeBytes for SignaturePublicKey
impl DeserializeBytes for HpkePrivateKey
impl DeserializeBytes for Credential
impl DeserializeBytes for ApplicationIdExtension
impl DeserializeBytes for Extensions
impl DeserializeBytes for ExternalPubExtension
impl DeserializeBytes for ExternalSender
impl DeserializeBytes for LastResortExtension
impl DeserializeBytes for RatchetTreeExtension
impl DeserializeBytes for RequiredCapabilitiesExtension
impl DeserializeBytes for SenderExtensionIndex
impl DeserializeBytes for MlsMessageIn
impl DeserializeBytes for PrivateMessageIn
impl DeserializeBytes for PublicMessageIn
impl DeserializeBytes for GroupContext
impl DeserializeBytes for GroupEpoch
impl DeserializeBytes for GroupId
impl DeserializeBytes for KeyPackageIn
impl DeserializeBytes for InitKey
impl DeserializeBytes for Lifetime
impl DeserializeBytes for VerifiableGroupInfo
impl DeserializeBytes for AppAck
impl DeserializeBytes for AppEphemeralProposal
impl DeserializeBytes for CustomProposal
impl DeserializeBytes for ExternalInitProposal
impl DeserializeBytes for GroupContextExtensionProposal
impl DeserializeBytes for ReInitProposal
impl DeserializeBytes for RemoveProposal
impl DeserializeBytes for AddProposalIn
impl DeserializeBytes for UpdateProposalIn
impl DeserializeBytes for ConfirmationTag
impl DeserializeBytes for EncryptedGroupSecrets
impl DeserializeBytes for Welcome
impl DeserializeBytes for ExternalPsk
impl DeserializeBytes for ResumptionPsk
impl DeserializeBytes for FrankenAddProposal
Available on crate features
test-utils only.impl DeserializeBytes for FrankenAppEphemeralProposal
Available on crate features
test-utils only.impl DeserializeBytes for FrankenApplicationIdExtension
Available on crate features
test-utils only.impl DeserializeBytes for FrankenCapabilities
Available on crate features
test-utils only.impl DeserializeBytes for FrankenCommit
Available on crate features
test-utils only.impl DeserializeBytes for FrankenCredential
Available on crate features
test-utils only.impl DeserializeBytes for FrankenCustomProposal
Available on crate features
test-utils only.impl DeserializeBytes for FrankenEncryptedGroupSecrets
Available on crate features
test-utils only.impl DeserializeBytes for FrankenExternalInitProposal
Available on crate features
test-utils only.impl DeserializeBytes for FrankenExternalPsk
Available on crate features
test-utils only.impl DeserializeBytes for FrankenExternalPubExtension
Available on crate features
test-utils only.impl DeserializeBytes for FrankenExternalSender
Available on crate features
test-utils only.impl DeserializeBytes for FrankenExternalSendersExtension
Available on crate features
test-utils only.impl DeserializeBytes for FrankenFramedContent
Available on crate features
test-utils only.impl DeserializeBytes for FrankenHpkeCiphertext
Available on crate features
test-utils only.impl DeserializeBytes for FrankenKeyPackage
Available on crate features
test-utils only.impl DeserializeBytes for FrankenKeyPackageTbs
Available on crate features
test-utils only.impl DeserializeBytes for FrankenLeafNode
Available on crate features
test-utils only.impl DeserializeBytes for FrankenLeafNodePayload
Available on crate features
test-utils only.impl DeserializeBytes for FrankenLeafNodeTbs
Available on crate features
test-utils only.impl DeserializeBytes for FrankenLifetime
Available on crate features
test-utils only.impl DeserializeBytes for FrankenMessageRange
Available on crate features
test-utils only.impl DeserializeBytes for FrankenMlsMessage
Available on crate features
test-utils only.impl DeserializeBytes for FrankenParentNode
Available on crate features
test-utils only.impl DeserializeBytes for FrankenPrivateMessage
Available on crate features
test-utils only.impl DeserializeBytes for FrankenPublicMessage
Available on crate features
test-utils only.impl DeserializeBytes for FrankenRatchetTreeExtension
Available on crate features
test-utils only.impl DeserializeBytes for FrankenReInitProposal
Available on crate features
test-utils only.impl DeserializeBytes for FrankenRemoveProposal
Available on crate features
test-utils only.impl DeserializeBytes for FrankenRequiredCapabilitiesExtension
Available on crate features
test-utils only.impl DeserializeBytes for FrankenResumptionPsk
Available on crate features
test-utils only.impl DeserializeBytes for FrankenTreePosition
Available on crate features
test-utils only.impl DeserializeBytes for FrankenUpdatePathIn
Available on crate features
test-utils only.impl DeserializeBytes for FrankenUpdatePathNode
Available on crate features
test-utils only.impl DeserializeBytes for FrankenUpdateProposal
Available on crate features
test-utils only.impl DeserializeBytes for FrankenWelcome
Available on crate features
test-utils only.