Trait Encoding

Source
pub trait Encoding {
    // Required methods
    fn extend_ssh_string(&mut self, s: &[u8]);
    fn extend_ssh_string_blank(&mut self, s: usize) -> &mut [u8] ;
    fn extend_ssh_mpint(&mut self, s: &[u8]);
    fn extend_list<'a, I: Iterator<Item = &'a [u8]>>(&mut self, list: I);
    fn extend_u32(&mut self, u: u32);
    fn write_empty_list(&mut self);
    fn write_len(&mut self);
}
Expand description

Encode in the SSH format.

Required Methods§

Source

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

Push an SSH-encoded string to self.

Source

fn extend_ssh_string_blank(&mut self, s: 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 extend_u32(&mut self, u: u32)

Push an SSH-encoded unsigned 32-bit integer.

Source

fn write_empty_list(&mut self)

Push an SSH-encoded empty list.

Source

fn write_len(&mut self)

Write the buffer length at the beginning of the buffer.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Encoding for Vec<u8>

Source§

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

Source§

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

Source§

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

Source§

fn extend_u32(&mut self, s: u32)

Source§

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

Source§

fn write_empty_list(&mut self)

Source§

fn write_len(&mut self)

Implementors§