Enum OutboundChunks
pub enum OutboundChunks<'a> {
Single(&'a [u8]),
Multiple {
chunks: &'a [&'a [u8]],
start: usize,
end: usize,
},
}Available on crate feature
tls only.Expand description
A collection of borrowed plaintext slices.
Warning: OutboundChunks does not guarantee that the simplest variant is used. Multiple can hold non fragmented or empty payloads.
Variants§
Single(&'a [u8])
A single byte slice. Contrary to Multiple, this uses a single pointer indirection
Multiple
A collection of chunks (byte slices) and cursors to single out a fragmented range of bytes. OutboundChunks assumes that start <= end
Implementations§
§impl<'a> OutboundChunks<'a>
impl<'a> OutboundChunks<'a>
pub fn new(chunks: &'a [&'a [u8]]) -> OutboundChunks<'a>
pub fn new(chunks: &'a [&'a [u8]]) -> OutboundChunks<'a>
Create a payload from a slice of byte slices. If fragmented the cursors are added by default: start = 0, end = length
pub fn new_empty() -> OutboundChunks<'a>
pub fn new_empty() -> OutboundChunks<'a>
Create a payload with a single empty slice
pub fn copy_to_vec(&self, vec: &mut Vec<u8>)
pub fn copy_to_vec(&self, vec: &mut Vec<u8>)
Append all bytes to a vector
pub fn split_at(&self, mid: usize) -> (OutboundChunks<'a>, OutboundChunks<'a>)
pub fn split_at(&self, mid: usize) -> (OutboundChunks<'a>, OutboundChunks<'a>)
Split self in two, around an index
Works similarly to split_at in the core library, except it doesn’t panic if out of bound
Trait Implementations§
§impl<'a> Clone for OutboundChunks<'a>
impl<'a> Clone for OutboundChunks<'a>
§fn clone(&self) -> OutboundChunks<'a>
fn clone(&self) -> OutboundChunks<'a>
Returns a duplicate 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 more§impl<'a> Debug for OutboundChunks<'a>
impl<'a> Debug for OutboundChunks<'a>
§impl<'a> From<&'a [u8]> for OutboundChunks<'a>
impl<'a> From<&'a [u8]> for OutboundChunks<'a>
§fn from(payload: &'a [u8]) -> OutboundChunks<'a>
fn from(payload: &'a [u8]) -> OutboundChunks<'a>
Converts to this type from the input type.
Auto Trait Implementations§
impl<'a> Freeze for OutboundChunks<'a>
impl<'a> RefUnwindSafe for OutboundChunks<'a>
impl<'a> Send for OutboundChunks<'a>
impl<'a> Sync for OutboundChunks<'a>
impl<'a> Unpin for OutboundChunks<'a>
impl<'a> UnwindSafe for OutboundChunks<'a>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more