Skip to main content

Record

Struct Record 

Source
pub struct Record<P> {
    pub typ: ContentType,
    pub version: EncodableVersion,
    pub payload: P,
}
Expand description

A TLS record with encoded (but not necessarily encrypted) payload.

Fields§

§typ: ContentType

The content type of this record.

§version: EncodableVersion

The protocol version of this record.

§payload: P

The payload of this record.

Implementations§

Source§

impl<P> Record<P>

Source

pub fn new(typ: ContentType, version: EncodableVersion, payload: P) -> Self

Create a new Record with the given fields.

Source§

impl<'a> Record<Payload<'a>>

Source

pub fn borrow_outbound(&'a self) -> Record<OutboundPlain<'a>>

Source

pub fn into_owned(self) -> Self

Convert into an owned Record<Plain<'static>>.

Source§

impl<'a> Record<InboundOpaque<'a>>

Source

pub fn into_tls13_unpadded_record(self) -> Result<Record<&'a [u8]>, Error>

For TLS1.3 (only), checks the length record.payload is valid and removes the padding.

Returns an error if the record payload (pre-unpadding) is too long, or the padding is invalid, or the record payload (post-unpadding) is too long.

Source

pub fn into_plain_record_range(self, range: Range<usize>) -> Record<&'a [u8]>

Force conversion into a plaintext record.

range restricts the resulting record: this function panics if it is out of range for the underlying record payload.

This should only be used for records that are known to be in plaintext. Otherwise, the Record<InboundOpaque<'_>> should be decrypted into an Record<&'_ [u8]> using a RecordDecrypter.

Source

pub fn into_plain_record(self) -> Record<&'a [u8]>

Force conversion into a plaintext record.

This should only be used for records that are known to be in plaintext. Otherwise, the Record<InboundOpaque<'a>> should be decrypted into a Record<&'a [u8]> using a RecordDecrypter.

Trait Implementations§

Source§

impl<P: Clone> Clone for Record<P>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<P: Debug> Debug for Record<P>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<P> Freeze for Record<P>
where P: Freeze,

§

impl<P> RefUnwindSafe for Record<P>
where P: RefUnwindSafe,

§

impl<P> Send for Record<P>
where P: Send,

§

impl<P> Sync for Record<P>
where P: Sync,

§

impl<P> Unpin for Record<P>
where P: Unpin,

§

impl<P> UnsafeUnpin for Record<P>
where P: UnsafeUnpin,

§

impl<P> UnwindSafe for Record<P>
where P: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more