1pub mod routing;
6pub mod store;
7pub mod node;
8pub mod replication;
9
10pub use routing::{RoutingTable, KBucket};
11pub use store::{DHTStore, StoredValue};
12pub use node::{DHTNode, NodeConfig};
13pub use replication::{ReplicationManager, ReplicationConfig, ReplicationTask, ReplicationPriority, ReplicationStats};
14
15use shadow_core::PeerId;
16use shadow_core::error::Result;
17
18#[derive(Debug, Clone)]
20pub struct DHTConfig {
21 pub k: usize,
23 pub alpha: usize,
25 pub replication: usize,
27 pub republish_interval: u64,
29}
30
31impl Default for DHTConfig {
32 fn default() -> Self {
33 Self {
34 k: 20,
35 alpha: 3,
36 replication: 3,
37 republish_interval: 3600, }
39 }
40}