Struct sshcerts::ssh::Writer [−][src]
pub struct Writer { /* fields omitted */ }
A Writer
is used for encoding a key in OpenSSH compatible format.
Implementations
impl Writer
[src]
impl Writer
[src]pub fn new() -> Writer
[src]
pub fn write_bytes(&mut self, val: &[u8])
[src]
Writes a byte sequence to the underlying vector. The value is represented as a the byte sequence length, followed by the actual byte sequence.
Example
let mut writer = Writer::new(); writer.write_bytes(&[0, 0, 0, 42]); let bytes = writer.into_bytes(); assert_eq!(bytes, vec![0, 0, 0, 4, 0, 0, 0, 42]);
pub fn write_string(&mut self, val: &str)
[src]
Writes a string
value to the underlying byte sequence.
Example
let mut writer = Writer::new(); writer.write_string("a test string"); let bytes = writer.into_bytes(); assert_eq!(bytes, [0, 0, 0, 13, 97, 32, 116, 101, 115, 116, 32, 115, 116, 114, 105, 110, 103]);
pub fn write_u64(&mut self, val: u64)
[src]
Writes a u64
value to the underlying byte sequence.
Example
let mut writer = Writer::new(); writer.write_u64(0xFFFFFFFFFFFFFFFF); let bytes = writer.into_bytes(); assert_eq!(bytes, [255, 255, 255, 255, 255, 255, 255, 255]);
pub fn write_u32(&mut self, val: u32)
[src]
Writes a u32
value to the underlying byte sequence.
Example
let mut writer = Writer::new(); writer.write_u32(0xFFFFFFFF); let bytes = writer.into_bytes(); assert_eq!(bytes, [255, 255, 255, 255]);
pub fn write_mpint(&mut self, val: &[u8])
[src]
Writes an mpint
value to the underlying byte sequence.
If the MSB bit of the first byte is set then the number is
negative, otherwise it is positive.
Positive numbers must be preceeded by a leading zero byte according to RFC 4251, section 5.
Example
let mut writer = Writer::new(); writer.write_mpint(&[1, 0, 1]); let bytes = writer.into_bytes(); assert_eq!(bytes, [0, 0, 0, 3, 1, 0, 1]);
pub fn write_string_vec(&mut self, vec: &[String])
[src]
Writes a Vec<String>
to the underlying byte sequence.
Example
let mut writer = Writer::new(); writer.write_string_vec(&vec![String::from("Test"), String::from("Test")]); let bytes = writer.into_bytes(); assert_eq!(bytes, [0, 0, 0, 16, 0, 0, 0, 4, 84, 101, 115, 116, 0, 0, 0, 4, 84, 101, 115, 116]);
pub fn write_string_map(&mut self, map: &HashMap<String, String>)
[src]
Writes a HashMap<String, String>
to the underlying byte sequence.
Example
let mut writer = Writer::new(); let mut example_map = HashMap::new(); example_map.insert(String::from("Test"), String::from("")); writer.write_string_map(&example_map); let bytes = writer.into_bytes(); assert_eq!(bytes, [0, 0, 0, 12, 0, 0, 0, 4, 84, 101, 115, 116, 0, 0, 0, 0]);
pub fn write_pub_key(&mut self, key: &PublicKey)
[src]
pub fn into_bytes(self) -> Vec<u8>
[src]
Converts the Writer
into a byte sequence.
This consumes the underlying byte sequence used by the Writer
.
Example
let mut writer = Writer::new(); writer.write_string("some data"); let bytes = writer.into_bytes(); assert_eq!(bytes, [0, 0, 0, 9, 115, 111, 109, 101, 32, 100, 97, 116, 97]);
pub fn as_bytes(&self) -> &[u8]
[src]
Converts the Writer
into a byte sequence.
This consumes the underlying byte sequence used by the Writer
.
Example
let mut writer = Writer::new(); writer.write_string("some data"); let bytes = writer.into_bytes(); assert_eq!(bytes, [0, 0, 0, 9, 115, 111, 109, 101, 32, 100, 97, 116, 97]);
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Writer
impl RefUnwindSafe for Writer
impl UnwindSafe for Writer
impl UnwindSafe for Writer