1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
//! # rckad //! Efficient and flexible S/Kademlia implementation. //! //! ``` //! use rckad::KadTree; //! //! fn main() { //! let mut kad = KadTree::new(0, "0"); //! kad.add(2, "b"); //! kad.add(3, "c"); //! kad.add(4, "e"); //! //! assert_eq!(Some((&2, &"b", true)), kad.search(&2)); //! assert_eq!(true, kad.contains(&2)); //! //! kad.remove(&2); //! assert_eq!(false, kad.contains(&2)); //! //! let mut kad = KadTree::with_k_bucket(0, "0".to_owned(), 2); //! //! for i in 1..(256 * 2 + 2) { //! kad.add(i, format!("{}", i)); //! } //! //! assert_eq!(Some((&26, &"26".to_owned(), false)), kad.search(&14)); //! } //! ``` #![no_std] extern crate alloc; //#[allow(late_bound_lifetime_arguments)] mod binary_tree; mod distance; pub use binary_tree::KadTree;