pub struct ClientHelloPayload {
pub client_version: ProtocolVersion,
pub random: Random,
pub session_id: SessionId,
pub cipher_suites: Vec<CipherSuite>,
pub compression_methods: Vec<Compression>,
pub extensions: Vec<ClientExtension>,
}
Fields§
§client_version: ProtocolVersion
§random: Random
§session_id: SessionId
§cipher_suites: Vec<CipherSuite>
§compression_methods: Vec<Compression>
§extensions: Vec<ClientExtension>
Implementations§
Source§impl ClientHelloPayload
impl ClientHelloPayload
pub(crate) fn ech_inner_encoding( &self, to_compress: Vec<ExtensionType>, ) -> Vec<u8>
pub(crate) fn payload_encode(&self, bytes: &mut Vec<u8>, purpose: Encoding)
Sourcepub(crate) fn has_duplicate_extension(&self) -> bool
pub(crate) fn has_duplicate_extension(&self) -> bool
Returns true if there is more than one extension of a given type.
pub(crate) fn find_extension( &self, ext: ExtensionType, ) -> Option<&ClientExtension>
pub(crate) fn sni_extension(&self) -> Option<&[ServerName]>
pub fn sigalgs_extension(&self) -> Option<&[SignatureScheme]>
pub(crate) fn namedgroups_extension(&self) -> Option<&[NamedGroup]>
pub(crate) fn ecpoints_extension(&self) -> Option<&[ECPointFormat]>
pub(crate) fn server_certificate_extension(&self) -> Option<&[CertificateType]>
pub(crate) fn client_certificate_extension(&self) -> Option<&[CertificateType]>
pub(crate) fn alpn_extension(&self) -> Option<&Vec<ProtocolName>>
pub(crate) fn quic_params_extension(&self) -> Option<Vec<u8>>
pub(crate) fn ticket_extension(&self) -> Option<&ClientExtension>
pub(crate) fn versions_extension(&self) -> Option<&[ProtocolVersion]>
pub(crate) fn psk(&self) -> Option<&PresharedKeyOffer>
pub(crate) fn check_psk_ext_is_last(&self) -> bool
pub(crate) fn psk_modes(&self) -> Option<&[PSKKeyExchangeMode]>
pub(crate) fn psk_mode_offered(&self, mode: PSKKeyExchangeMode) -> bool
pub(crate) fn set_psk_binder(&mut self, binder: impl Into<Vec<u8>>)
pub(crate) fn ems_support_offered(&self) -> bool
pub(crate) fn early_data_extension_offered(&self) -> bool
pub(crate) fn certificate_compression_extension( &self, ) -> Option<&[CertificateCompressionAlgorithm]>
pub(crate) fn has_certificate_compression_extension_with_duplicates( &self, ) -> bool
Trait Implementations§
Source§impl Clone for ClientHelloPayload
impl Clone for ClientHelloPayload
Source§fn clone(&self) -> ClientHelloPayload
fn clone(&self) -> ClientHelloPayload
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Codec<'_> for ClientHelloPayload
impl Codec<'_> for ClientHelloPayload
Source§fn encode(&self, bytes: &mut Vec<u8>)
fn encode(&self, bytes: &mut Vec<u8>)
Function for encoding itself by appending itself to
the provided vec of bytes.
Source§fn read(r: &mut Reader<'_>) -> Result<Self, InvalidMessage>
fn read(r: &mut Reader<'_>) -> Result<Self, InvalidMessage>
Function for decoding itself from the provided reader
will return Some if the decoding was successful or
None if it was not.
Source§fn get_encoding(&self) -> Vec<u8>
fn get_encoding(&self) -> Vec<u8>
Convenience function for encoding the implementation
into a vec and returning it
Source§fn read_bytes(bytes: &'a [u8]) -> Result<Self, InvalidMessage>
fn read_bytes(bytes: &'a [u8]) -> Result<Self, InvalidMessage>
Function for wrapping a call to the read function in
a Reader for the slice of bytes provided Read more
Auto Trait Implementations§
impl Freeze for ClientHelloPayload
impl RefUnwindSafe for ClientHelloPayload
impl Send for ClientHelloPayload
impl Sync for ClientHelloPayload
impl Unpin for ClientHelloPayload
impl UnwindSafe for ClientHelloPayload
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more