Crate bip_bencode [−] [src]
Library for parsing and converting bencoded data.
Examples
Decoding bencoded data:
extern crate bip_bencode; use bip_bencode::{Bencode}; fn main() { let data = b"d12:lucky_numberi7ee"; let bencode = Bencode::decode(data).unwrap(); assert_eq!(7, bencode.dict().unwrap().lookup("lucky_number") .unwrap().int().unwrap()); }
Encoding bencoded data:
#[macro_use] extern crate bip_bencode; use bip_bencode::{Bencode}; fn main() { let message = (ben_map!{ "lucky_number" => ben_int!(7) }).encode(); assert_eq!(&b"d12:lucky_numberi7ee"[..], &message[..]); }
Macros
ben_bytes! |
Construct Bencode bytes by supplying a type convertible to Vec<u8>. |
ben_int! |
Construct a Bencode integer by supplying an i64. |
ben_list! |
Construct a Bencode list by supplying a list of Bencode values. |
ben_map! |
Construct a Bencode map by supplying string references as keys and Bencode as values. |
Structs
BencodeConvertError |
Error type generated when converting bencode objects. |
BencodeParseError |
Error type generated when parsing bencoded data. |
Enums
Bencode |
Bencode object that holds references to the underlying data. |
BencodeConvertErrorKind |
Enumerates all bencode conversion errors. |
BencodeKind |
Abstract representation of a Bencode object. |
BencodeParseErrorKind |
Enumerates all bencode parse errors. |
Traits
BencodeConvert |
Trait for casting bencode objects and converting conversion errors into application specific errors. |
Dictionary |
Trait for working with generic map data structures. |
Type Definitions
BencodeConvertResult |
Result of converting a bencode object. |
BencodeParseResult |
Result of parsing bencoded data. |