Crate bip_bencode [−] [src]
Library for parsing and converting bencoded data.
Examples
Decoding bencoded data:
extern crate bip_bencode; use std::default::Default; use bip_bencode::{BencodeRef, BRefAccess, BDecodeOpt}; fn main() { let data = b"d12:lucky_numberi7ee"; let bencode = BencodeRef::decode(data, BDecodeOpt::default()).unwrap(); assert_eq!(7, bencode.dict().unwrap().lookup("lucky_number".as_bytes()) .unwrap().int().unwrap()); }
Encoding bencoded data:
#[macro_use] extern crate bip_bencode; fn main() { let message = (ben_map!{ "lucky_number" => ben_int!(7), "lucky_string" => ben_bytes!("7") }).encode(); assert_eq!(&b"d12:lucky_numberi7e12:lucky_string1:7e"[..], &message[..]); }
Modules
ext |
Traits for extended functionality. |
inner |
Traits for implementation functionality. |
Macros
ben_bytes |
Construct |
ben_int |
Construct a |
ben_list |
Construct a |
ben_map |
Construct a |
Structs
BDecodeOpt |
Stores decoding options for modifying decode behavior. |
BencodeConvertError |
The Error type. |
BencodeMut |
|
BencodeParseError |
The Error type. |
BencodeRef |
|
Enums
BencodeConvertErrorKind |
The kind of an error. |
BencodeMutKind |
Abstract representation of a |
BencodeParseErrorKind |
The kind of an error. |
BencodeRefKind |
Abstract representation of a |
Traits
BConvert |
Trait for casting bencode objects and converting conversion errors into application specific errors. |
BDictAccess |
Trait for working with generic map data structures. |
BListAccess |
Trait for working with generic list data structures. |
BMutAccess |
Trait for write access to some bencode type. |
BRefAccess |
Trait for read access to some bencode type. |
Type Definitions
BencodeConvertResult |
Convenient wrapper around |
BencodeParseResult |
Convenient wrapper around |