Type Alias Buffer

Source
pub type Buffer = Zeroizing<Vec<u8>>;
Expand description

General purpose writable byte buffer we use everywhere.

Aliased Type§

pub struct Buffer(/* private fields */);

Trait Implementations§

Source§

impl Encoding for Buffer

Source§

fn extend_ssh_string(&mut self, s: &[u8])

Push an SSH-encoded string to self.
Source§

fn extend_ssh_string_blank(&mut self, len: usize) -> &mut [u8]

Push an SSH-encoded blank string of length s to self.
Source§

fn extend_ssh_mpint(&mut self, s: &[u8])

Push an SSH-encoded multiple-precision integer.
Source§

fn extend_list<'a, I: Iterator<Item = &'a [u8]>>(&mut self, list: I)

Push an SSH-encoded list.
Source§

fn write_empty_list(&mut self)

Push an SSH-encoded empty list.
Source§

fn extend_u32(&mut self, s: u32)

Push an SSH-encoded unsigned 32-bit integer.
Source§

fn write_len(&mut self)

Write the buffer length at the beginning of the buffer.
Source§

fn extend_usize(&mut self, u: usize)

Push a usize as an SSH-encoded unsiged 32-bit integer. May panic if the argument is greater than u32::MAX. This is a convience method, to spare callers casting or converting usize to u32. If callers end up in a situation where they need to push a 32-bit unisgned integer, but the value they would like to push does not fit 32 bits, then the implementation will not comply with the SSH format anyway.
Source§

impl Reader for Buffer

Source§

fn reader(&self, starting_at: usize) -> Cursor<'_>

Create an SSH reader for self.