pub trait Encode {
// Required method
fn encode(self, writer: &mut dyn Write) -> Result<(), Error>;
}
Expand description
Encode
is a trait to encode a Bencodex value.
Required Methods§
Sourcefn encode(self, writer: &mut dyn Write) -> Result<(), Error>
fn encode(self, writer: &mut dyn Write) -> Result<(), Error>
Encode a Bencodex value from this type.
If encoding succeeds, return Ok
. Otherwise, it will pass std::io::Error
occurred in inner logic.
§Examples
Basic usage with BencodexValue::Text
:
use bencodex::{ Encode, BencodexValue };
let text = "text".to_string();
let mut vec = Vec::new();
text.encode(&mut vec);
assert_eq!(vec, vec![b'u', b'4', b':', b't', b'e', b'x', b't']);
Implementations on Foreign Types§
Source§impl Encode for BTreeMap<BencodexKey, BencodexValue>
impl Encode for BTreeMap<BencodexKey, BencodexValue>
Source§fn encode(self, writer: &mut dyn Write) -> Result<(), Error>
fn encode(self, writer: &mut dyn Write) -> Result<(), Error>
use bencodex::{ Encode, BencodexKey, BencodexValue };
use std::collections::BTreeMap;
let mut dict: BTreeMap<BencodexKey, BencodexValue> = BTreeMap::new();
dict.insert("".into(), "".into());
let mut buf = vec![];
dict.encode(&mut buf);
assert_eq!(buf, b"du0:u0:e")