pub struct OpaqueMessage {
pub typ: ContentType,
pub version: ProtocolVersion,
pub payload: Payload,
}
Expand description
A TLS frame, named TLSPlaintext in the standard.
This type owns all memory for its interior parts. It is used to read/write from/to I/O
buffers as well as for fragmenting, joining and encryption/decryption. It can be converted
into a Message
by decoding the payload.
Fields§
§typ: ContentType
§version: ProtocolVersion
§payload: Payload
Implementations§
source§impl OpaqueMessage
impl OpaqueMessage
sourcepub fn read(r: &mut Reader<'_>) -> Result<Self, MessageError>
pub fn read(r: &mut Reader<'_>) -> Result<Self, MessageError>
MessageError
allows callers to distinguish between valid prefixes (might
become valid if we read more data) and invalid data.
pub fn encode(self) -> Vec<u8> ⓘ
sourcepub fn into_plain_message(self) -> PlainMessage
pub fn into_plain_message(self) -> PlainMessage
Force conversion into a plaintext message.
This should only be used for messages that are known to be in plaintext. Otherwise, the
OpaqueMessage
should be decrypted into a PlainMessage
using a MessageDecrypter
.
sourceconst MAX_PAYLOAD: u16 = 18_432u16
const MAX_PAYLOAD: u16 = 18_432u16
This is the maximum on-the-wire size of a TLSCiphertext. That’s 2^14 payload bytes, a header, and a 2KB allowance for ciphertext overheads.
sourceconst HEADER_SIZE: u16 = 5u16
const HEADER_SIZE: u16 = 5u16
Content type, version and size.
sourcepub const MAX_WIRE_SIZE: usize = 18_437usize
pub const MAX_WIRE_SIZE: usize = 18_437usize
Maximum on-wire message size.
Trait Implementations§
source§impl Clone for OpaqueMessage
impl Clone for OpaqueMessage
source§fn clone(&self) -> OpaqueMessage
fn clone(&self) -> OpaqueMessage
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for OpaqueMessage
impl RefUnwindSafe for OpaqueMessage
impl Send for OpaqueMessage
impl Sync for OpaqueMessage
impl Unpin for OpaqueMessage
impl UnwindSafe for OpaqueMessage
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)