Trait tor_bytes::Writeable [−][src]
pub trait Writeable { fn write_onto<B: Writer + ?Sized>(&self, b: &mut B); }
Expand description
Trait for an object that can be encoded onto a Writer by reference.
Implement this trait in order to make an object writeable.
Most code won’t need to call this directly, but will instead use it implicitly via the Writer::write() method.
Example
use tor_bytes::{Writeable, Writer}; #[derive(Debug, Eq, PartialEq)] struct Message { flags: u32, cmd: u8 } impl Writeable for Message { fn write_onto<B:Writer+?Sized>(&self, b: &mut B) { // We'll say that a "Message" is encoded as flags, then command. b.write_u32(self.flags); b.write_u8(self.cmd); } } let msg = Message { flags: 0x43, cmd: 0x07 }; let mut writer: Vec<u8> = Vec::new(); writer.write(&msg); assert_eq!(writer, &[0x00, 0x00, 0x00, 0x43, 0x07 ]);
Required methods
fn write_onto<B: Writer + ?Sized>(&self, b: &mut B)
fn write_onto<B: Writer + ?Sized>(&self, b: &mut B)
Encode this object into the writer b
.