Struct fuel_core_p2p::config::Config
source · pub struct Config<State = Initialized> {Show 29 fields
pub keypair: Keypair,
pub network_name: String,
pub checksum: Checksum,
pub address: IpAddr,
pub public_address: Option<Multiaddr>,
pub tcp_port: u16,
pub max_block_size: usize,
pub max_headers_per_request: u32,
pub bootstrap_nodes: Vec<Multiaddr>,
pub enable_mdns: bool,
pub allow_private_addresses: bool,
pub random_walk: Option<Duration>,
pub connection_idle_timeout: Option<Duration>,
pub reserved_nodes: Vec<Multiaddr>,
pub reserved_nodes_only_mode: bool,
pub max_peers_connected: u32,
pub max_connections_per_peer: u32,
pub identify_interval: Option<Duration>,
pub info_interval: Option<Duration>,
pub gossipsub_config: Config,
pub heartbeat_config: Config,
pub set_request_timeout: Duration,
pub max_concurrent_streams: usize,
pub set_connection_keep_alive: Duration,
pub heartbeat_check_interval: Duration,
pub heartbeat_max_avg_interval: Duration,
pub heartbeat_max_time_since_last: Duration,
pub metrics: bool,
pub state: State,
}
Fields§
§keypair: Keypair
The keypair used for handshake during communication with other p2p nodes.
network_name: String
Name of the Network
checksum: Checksum
Checksum is a hash(sha256) of Genesis
- chain id.
address: IpAddr
IP address for Swarm to listen on
public_address: Option<Multiaddr>
Optional address of your local node made reachable for other nodes in the network.
tcp_port: u16
The TCP port that Swarm listens on
max_block_size: usize
Max Size of a Block in bytes
max_headers_per_request: u32
§bootstrap_nodes: Vec<Multiaddr>
§enable_mdns: bool
§allow_private_addresses: bool
§random_walk: Option<Duration>
§connection_idle_timeout: Option<Duration>
§reserved_nodes: Vec<Multiaddr>
Priority nodes that the node should maintain connection to
reserved_nodes_only_mode: bool
Should the node only accept connection requests from the Reserved Nodes
max_peers_connected: u32
Max number of unique peers connected
This number should be at least number of mesh_n
from Gossipsub
configuration.
The total number of connections will be (max_peers_connected + reserved_nodes.len()) * max_connections_per_peer
max_connections_per_peer: u32
Max number of connections per single peer
The total number of connections will be (max_peers_connected + reserved_nodes.len()) * max_connections_per_peer
identify_interval: Option<Duration>
The interval at which identification requests are sent to the remote on established connections after the first request
info_interval: Option<Duration>
The duration between the last successful outbound or inbound ping and the next outbound ping
gossipsub_config: Config
§heartbeat_config: Config
§set_request_timeout: Duration
Sets the timeout for inbound and outbound requests.
max_concurrent_streams: usize
Sets the maximum number of concurrent streams for a connection.
set_connection_keep_alive: Duration
Sets the keep-alive timeout of idle connections.
heartbeat_check_interval: Duration
Time between checking heartbeat status for all peers
heartbeat_max_avg_interval: Duration
Max avg time between heartbeats for a given peer before getting reputation penalty
heartbeat_max_time_since_last: Duration
Max time since a given peer has sent a heartbeat before getting reputation penalty
metrics: bool
Enables prometheus metrics for this fuel-service
state: State
It is the state of the config initialization. Everyone can create an instance of the Self
with the NotInitialized
state. But it can be set into the Initialized
state only with
the init
method.
Implementations§
source§impl Config<NotInitialized>
impl Config<NotInitialized>
Trait Implementations§
Auto Trait Implementations§
impl<State> Freeze for Config<State>where
State: Freeze,
impl<State = Initialized> !RefUnwindSafe for Config<State>
impl<State> Send for Config<State>where
State: Send,
impl<State> Sync for Config<State>where
State: Sync,
impl<State> Unpin for Config<State>where
State: Unpin,
impl<State = Initialized> !UnwindSafe for Config<State>
Blanket Implementations§
source§impl<T> AnyDebug for T
impl<T> AnyDebug for T
source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
Any
.source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more