Struct exocore_chain::ChainSyncConfig[][src]

pub struct ChainSyncConfig {
    pub request_tracker: RequestTrackerConfig,
    pub meta_sync_max_failures: usize,
    pub metadata_sync_begin_count: usize,
    pub metadata_sync_end_count: usize,
    pub metadata_sync_sampled_count: usize,
    pub metadata_sync_segments_boundaries_threshold: usize,
    pub blocks_max_send_size: usize,
    pub max_leader_common_block_height_delta: BlockHeight,
}

Chain synchronizer's configuration

Fields

request_tracker: RequestTrackerConfig

Config for requests timing tracker

meta_sync_max_failures: usize

Maximum number of synchronization failures before considering a node offsync

metadata_sync_begin_count: usize

Number of blocks metadata to always include at beginning of a metadata sync request

metadata_sync_end_count: usize

Number of blocks metadata to always include at end of a metadata sync request

metadata_sync_sampled_count: usize

Number of sampled blocks metadata to include between begin and end blocks of a metadata sync request

metadata_sync_segments_boundaries_threshold: usize

When doing blocks metadata synchronization, if the requested range spans multiple segments, this is the threshold from which we fall into a fast synchronization mode. Instead of sampling blocks, only the first block of each segments (segments boundary) is sent preventing scanning blocks.

blocks_max_send_size: usize

Maximum number of bytes worth of blocks to send in a response This should be lower than transport maximum packet size

max_leader_common_block_height_delta: BlockHeight

Maximum height in blocks that we can tolerate between our common ancestor block and its latest block. If it gets higher than this value, this means that we may have diverged and we need to re-synchronize.

Trait Implementations

impl Clone for ChainSyncConfig[src]

impl Debug for ChainSyncConfig[src]

impl Default for ChainSyncConfig[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CloneAny for T where
    T: Clone + Any

impl<T> DebugAny for T where
    T: Any + Debug

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> UnsafeAny for T where
    T: Any

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,