Struct sc_network::config::Params [−][src]
pub struct Params<B: BlockT, H: ExHashT> {}Show fields
pub role: Role, pub executor: Option<Box<dyn Fn(Pin<Box<dyn Future<Output = ()> + Send>>) + Send>>, pub transactions_handler_executor: Box<dyn Fn(Pin<Box<dyn Future<Output = ()> + Send>>) + Send>, pub network_config: NetworkConfiguration, pub chain: Arc<dyn Client<B>>, pub on_demand: Option<Arc<OnDemand<B>>>, pub transaction_pool: Arc<dyn TransactionPool<H, B>>, pub protocol_id: ProtocolId, pub import_queue: Box<dyn ImportQueue<B>>, pub block_announce_validator: Box<dyn BlockAnnounceValidator<B> + Send>, pub metrics_registry: Option<Registry>, pub block_request_protocol_config: RequestResponseConfig, pub light_client_request_protocol_config: RequestResponseConfig, pub state_request_protocol_config: RequestResponseConfig, pub warp_sync: Option<(Arc<dyn WarpSyncProvider<B>>, RequestResponseConfig)>,
Expand description
Network initialization parameters.
Fields
role: Role
Assigned role for our node (full, light, …).
executor: Option<Box<dyn Fn(Pin<Box<dyn Future<Output = ()> + Send>>) + Send>>
How to spawn background tasks. If you pass None
, then a threads pool will be used by
default.
transactions_handler_executor: Box<dyn Fn(Pin<Box<dyn Future<Output = ()> + Send>>) + Send>
How to spawn the background task dedicated to the transactions handler.
network_config: NetworkConfiguration
Network layer configuration.
chain: Arc<dyn Client<B>>
Client that contains the blockchain.
on_demand: Option<Arc<OnDemand<B>>>
The OnDemand
object acts as a “receiver” for block data requests from the client.
If Some
, the network worker will process these requests and answer them.
Normally used only for light clients.
transaction_pool: Arc<dyn TransactionPool<H, B>>
Pool of transactions.
The network worker will fetch transactions from this object in order to propagate them on the network.
protocol_id: ProtocolId
Name of the protocol to use on the wire. Should be different for each chain.
import_queue: Box<dyn ImportQueue<B>>
Import queue to use.
The import queue is the component that verifies that blocks received from other nodes are valid.
block_announce_validator: Box<dyn BlockAnnounceValidator<B> + Send>
Type to check incoming block announcements.
metrics_registry: Option<Registry>
Registry for recording prometheus metrics to.
block_request_protocol_config: RequestResponseConfig
Request response configuration for the block request protocol.
RequestResponseConfig::name
is used to tag outgoing block requests with the correct
protocol name. In addition all of RequestResponseConfig
is used to handle incoming block
requests, if enabled.
Can be constructed either via crate::block_request_handler::generate_protocol_config
allowing outgoing but not incoming requests, or constructed via
crate::block_request_handler::BlockRequestHandler::new
allowing both outgoing and
incoming requests.
light_client_request_protocol_config: RequestResponseConfig
Request response configuration for the light client request protocol.
Can be constructed either via
crate::light_client_requests::generate_protocol_config
allowing outgoing but not
incoming requests, or constructed via
crate::light_client_requests::handler::LightClientRequestHandler::new
allowing
both outgoing and incoming requests.
state_request_protocol_config: RequestResponseConfig
Request response configuration for the state request protocol.
Can be constructed either via
crate::block_request_handler::generate_protocol_config
allowing outgoing but not
incoming requests, or constructed via
crate::state_request_handler::StateRequestHandler::new
allowing
both outgoing and incoming requests.
warp_sync: Option<(Arc<dyn WarpSyncProvider<B>>, RequestResponseConfig)>
Optional warp sync protocol support. Include protocol config and sync provider.
Auto Trait Implementations
impl<B, H> !RefUnwindSafe for Params<B, H>
impl<B, H> !UnwindSafe for Params<B, H>
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more