pub enum OutboundChunks<'a> {
Single(&'a [u8]),
Multiple {
chunks: &'a [&'a [u8]],
start: usize,
end: usize,
},
}
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§
Source§impl<'a> OutboundChunks<'a>
impl<'a> OutboundChunks<'a>
Sourcepub fn new(chunks: &'a [&'a [u8]]) -> Self
pub fn new(chunks: &'a [&'a [u8]]) -> Self
Create a payload from a slice of byte slices. If fragmented the cursors are added by default: start = 0, end = length
Sourcepub 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
Trait Implementations§
Source§impl<'a> Clone for OutboundChunks<'a>
impl<'a> Clone for OutboundChunks<'a>
Source§fn clone(&self) -> OutboundChunks<'a>
fn clone(&self) -> OutboundChunks<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<'a> Debug for OutboundChunks<'a>
impl<'a> Debug for OutboundChunks<'a>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes
Size for each variant:
Single
: 24 bytesMultiple
: 32 bytes