X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fbgp_client.rs;h=5f436b1ca106f12d132952436961cd5df0db07a7;hb=f44ddf483a9e7f8cc136f6ac64de3e135429fd59;hp=d2b3443b06d723840436edcd2cc7b3446776a3a6;hpb=f018bfcb43aa4846a037d8a7884a1a28b3e66516;p=dnsseed-rust diff --git a/src/bgp_client.rs b/src/bgp_client.rs index d2b3443..5f436b1 100644 --- a/src/bgp_client.rs +++ b/src/bgp_client.rs @@ -22,7 +22,7 @@ use futures::sync::mpsc; use crate::printer::{Printer, Stat}; use crate::timeout_stream::TimeoutStream; -const PATH_SUFFIX_LEN: usize = 2; +const PATH_SUFFIX_LEN: usize = 3; #[derive(Clone)] struct Route { // 32 bytes with a path id u32 path_suffix: [u32; PATH_SUFFIX_LEN], @@ -31,7 +31,7 @@ struct Route { // 32 bytes with a path id u32 med: u32, } #[allow(dead_code)] -const ROUTE_LEN: usize = 32 - std::mem::size_of::<(u32, Route)>(); +const ROUTE_LEN: usize = 36 - std::mem::size_of::<(u32, Route)>(); // To keep memory tight (and since we dont' need such close alignment), newtype the v4/v6 routing // table entries to make sure they are aligned to single bytes. @@ -84,8 +84,8 @@ struct RoutingTable { impl RoutingTable { fn new() -> Self { Self { - v4_table: HashMap::new(), - v6_table: HashMap::new(), + v4_table: HashMap::with_capacity(900_000), + v6_table: HashMap::with_capacity(100_000), } }