P2PConfig

/// Configuration for the peer-to-peer server.
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct P2PConfig {
    pub host: IpAddr,
    pub port: u16,

    /// Method used to get the list of seed nodes for initial bootstrap.
    #[serde(default)]
    pub seeding_type: Seeding,

    /// The list of seed nodes, if using Seeding as a seed type
    pub seeds: Option<Vec<String>>,

    /// Capabilities expose by this node, also conditions which other peers this
    /// node will have an affinity toward when connection.
    pub capabilities: Capabilities,

    pub peers_allow: Option<Vec<String>>,

    pub peers_deny: Option<Vec<String>>,

    /// The list of preferred peers that we will try to connect to
    pub peers_preferred: Option<Vec<String>>,

    pub ban_window: Option<i64>,

    pub peer_max_count: Option<u32>,

    pub peer_min_preferred_count: Option<u32>,
}

PeerLiveInfo

pub struct PeerLiveInfo {
    pub total_difficulty: Difficulty,
    pub height: u64,
    pub last_seen: DateTime<Utc>,
    pub stuck_detector: DateTime<Utc>,
}

PeerInfo

/// General information about a connected peer that's useful to other modules.
#[derive(Clone, Debug)]
pub struct PeerInfo {
    pub capabilities: Capabilities,
    pub user_agent: String,
    pub version: u32,
    pub addr: SocketAddr,
    pub direction: Direction,
    pub live_info: Arc<RwLock<PeerLiveInfo>>,
}

PeerInfoDisplay

/// Flatten out a PeerInfo and nested PeerLiveInfo (taking a read lock on it)
/// so we can serialize/deserialize the data for the API and the TUI.
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct PeerInfoDisplay {
    pub capabilities: Capabilities,
    pub user_agent: String,
    pub version: u32,
    pub addr: SocketAddr,
    pub direction: Direction,
    pub total_difficulty: Difficulty,
    pub height: u64,
}

TxHashSetRead

/// The full txhashset data along with indexes required for a consumer to
/// rewind to a consistent requested state.
pub struct TxHashSetRead {
    /// Output tree index the receiver should rewind to
    pub output_index: u64,
    /// Kernel tree index the receiver should rewind to
    pub kernel_index: u64,
    /// Binary stream for the txhashset zipped data
    pub reader: File,
}

results matching ""

    No results matching ""