1#![crate_name = "bencoderus"]
2#![crate_type = "lib"]
3
4pub mod libdecode;
5pub mod libencode;
6
7const ASCII_D: u8 = 100;
8const ASCII_E: u8 = 101;
9const ASCII_I: u8 = 105;
10const ASCII_L: u8 = 108;
11const ASCII_COLON: u8 = 58;
12
13pub const DICTIONARY_START: u8 = ASCII_D;
14pub const DICTIONARY_END: u8 = ASCII_E;
15pub const LIST_START: u8 = ASCII_L;
16pub const LIST_END: u8 = ASCII_E;
17pub const NUMBER_START: u8 = ASCII_I;
18pub const NUMBER_END: u8 = ASCII_E;
19pub const BYTE_ARRAY_DIVIDER: u8 = ASCII_COLON;
20
21use std::collections::HashMap;
22
23#[derive(PartialEq, Clone, Debug)]
24pub enum Bencoding {
25 Integer(u64),
26 ByteString(Vec<u8>),
27 List(Vec<Bencoding>),
28 Dictionary(HashMap<Vec<u8>, Bencoding>),
29 Eof,
30}