pub struct SyncNode {}Available on non-WebAssembly only.
Expand description
SyncNode is a node that downloads and validates the blockchain.
This node implements:
- NodeContext
- UtreexoNode<SyncNode, Chain>
see node_context and node.rs for more information.
Trait Implementations§
Source§impl NodeContext for SyncNode
impl NodeContext for SyncNode
Source§const MAX_OUTGOING_PEERS: usize = 5usize
const MAX_OUTGOING_PEERS: usize = 5usize
Max number of simultaneous connections we initiates we are willing to hold
Source§const TRY_NEW_CONNECTION: u64 = 60u64
const TRY_NEW_CONNECTION: u64 = 60u64
Attempt to open a new connection (if needed) every TRY_NEW_CONNECTION seconds
Source§const REQUEST_TIMEOUT: u64 = 600u64
const REQUEST_TIMEOUT: u64 = 600u64
How long we wait for a peer to respond to our request
Source§const MAX_INFLIGHT_REQUESTS: usize = 100usize
const MAX_INFLIGHT_REQUESTS: usize = 100usize
Max number of simultaneous inflight requests we allow
fn get_required_services(&self) -> ServiceFlags
Source§const ASK_FOR_PEERS_INTERVAL: u64 = 3_600u64
const ASK_FOR_PEERS_INTERVAL: u64 = 3_600u64
We ask for peers every ASK_FOR_PEERS_INTERVAL seconds
Source§const PEER_DB_DUMP_INTERVAL: u64 = 30u64
const PEER_DB_DUMP_INTERVAL: u64 = 30u64
Save our database of peers every PEER_DB_DUMP_INTERVAL seconds
Source§const ASSUME_STALE: u64 = 900u64
const ASSUME_STALE: u64 = 900u64
If ASSUME_STALE seconds passed since our last tip update, treat it as stale
Source§const IBD_REQUEST_BLOCKS_AGAIN: u64 = 30u64
const IBD_REQUEST_BLOCKS_AGAIN: u64 = 30u64
While on IBD, if we’ve been without blocks for this long, ask for headers again
Source§const BROADCAST_DELAY: u64 = 30u64
const BROADCAST_DELAY: u64 = 30u64
How often we broadcast transactions
Source§const FEELER_INTERVAL: u64 = 30u64
const FEELER_INTERVAL: u64 = 30u64
Interval at which we open new feeler connections
Source§const ADDRESS_REARRANGE_INTERVAL: u64 = 3_600u64
const ADDRESS_REARRANGE_INTERVAL: u64 = 3_600u64
Interval at which we rearrange our addresses
Source§const BLOCK_CHECK_INTERVAL: u64 = 300u64
const BLOCK_CHECK_INTERVAL: u64 = 300u64
How often we check if we haven’t missed a block
Source§const SEND_ADDRESSES_INTERVAL: u64 = 3_600u64
const SEND_ADDRESSES_INTERVAL: u64 = 3_600u64
How often we send our addresses to our peers
Source§const CONNECTION_TIMEOUT: u64 = 30u64
const CONNECTION_TIMEOUT: u64 = 30u64
How long should we wait for a peer to respond our connection request
Source§const BLOCKS_PER_GETDATA: usize = 4usize
const BLOCKS_PER_GETDATA: usize = 4usize
How many blocks we can ask in the same request
Source§const MAX_CONCURRENT_GETDATA: usize = 2usize
const MAX_CONCURRENT_GETDATA: usize = 2usize
How many concurrent GETDATA packages we can send at the same time
Auto Trait Implementations§
impl Freeze for SyncNode
impl RefUnwindSafe for SyncNode
impl Send for SyncNode
impl Sync for SyncNode
impl Unpin for SyncNode
impl UnwindSafe for SyncNode
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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