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. |