commonware-p2p 2026.4.0

Communicate with authenticated peers over encrypted connections.
Documentation
//! Tracker

use crate::{authenticated::discovery::config::Bootstrapper, Ingress};
use commonware_cryptography::Signer;
use std::{num::NonZeroUsize, time::Duration};

mod actor;
mod bit_set;
mod directory;
pub(crate) mod ingress;
mod metadata;
mod metrics;
mod record;
mod reservation;

pub use actor::Actor;
pub use ingress::{Message, Oracle};
pub use metadata::Metadata;
pub use reservation::Reservation;

#[derive(Clone, Debug)]
pub struct Config<C: Signer> {
    pub crypto: C,
    pub namespace: Vec<u8>,
    pub address: Ingress,
    pub bootstrappers: Vec<Bootstrapper<C::PublicKey>>,
    pub allow_private_ips: bool,
    pub allow_dns: bool,
    pub synchrony_bound: Duration,
    pub tracked_peer_sets: NonZeroUsize,
    pub max_peer_set_size: u64,
    pub peer_connection_cooldown: Duration,
    pub peer_gossip_max_count: usize,
    pub dial_fail_limit: usize,
    pub block_duration: Duration,
}