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".as_bytes()) .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 |
The Error type. |
BencodeParseError |
The Error type. |
Enums
Bencode |
Bencode object that holds references to the underlying data. |
BencodeConvertErrorKind |
The kind of an error. |
BencodeKind |
Abstract representation of a Bencode object. |
BencodeParseErrorKind |
The kind of an error. |
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 |
Convenient wrapper around |
BencodeParseResult |
Convenient wrapper around |