everscale_network/util/
mod.rs

1//! # Basic primitives and helpers
2
3use std::collections::{HashMap, HashSet};
4
5pub use self::network_builder::{
6    DeferredInitialization, DeferredInitializationList, NetworkBuilder,
7};
8
9pub(crate) use self::address_list::*;
10pub(crate) use self::fast_rand::*;
11pub(crate) use self::packets_history::*;
12pub(crate) use self::updated_at::*;
13
14mod address_list;
15mod fast_rand;
16mod network_builder;
17mod packets_history;
18mod updated_at;
19
20pub(crate) type FastHashSet<K> = HashSet<K, FastHasherState>;
21pub(crate) type FastHashMap<K, V> = HashMap<K, V, FastHasherState>;
22pub(crate) type FastDashSet<K> = dashmap::DashSet<K, FastHasherState>;
23pub(crate) type FastDashMap<K, V> = dashmap::DashMap<K, V, FastHasherState>;
24pub(crate) type FastHasherState = ahash::RandomState;
25
26pub(crate) fn now() -> u32 {
27    std::time::SystemTime::now()
28        .duration_since(std::time::UNIX_EPOCH)
29        .unwrap_or_default()
30        .as_secs() as u32
31}