Bounded extraction of negotiation inputs from one exact ClientHello message.
The original bytes remain authoritative for transcript hashing. Unknown extensions are retained as opaque payloads and do not affect parsing.
Summary
Types
@type t() :: %SSL.Protocol.ClientOffer{ alpn_protocols: [binary()], certificate_signature_schemes: [0..65535] | nil, cipher_suites: [0..65535], encoded: binary(), extension_ids: [0..65535], extensions: [{0..65535, binary()}], key_shares: [key_share()], legacy_session_id: binary(), offered_versions: [0..65535], psk_count: non_neg_integer(), psk_key_exchange_modes: [byte()], signature_schemes: [0..65535], supported_groups: [0..65535] }