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) }).encode(); assert_eq!(&b"d12:lucky_numberi7ee"[..], &message[..]); }
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 |