[][src]Struct zebrad::config::SyncSection

pub struct SyncSection {
    pub max_concurrent_block_requests: usize,
    pub lookahead_limit: usize,
}

Sync configuration section.

Fields

max_concurrent_block_requests: usize

The maximum number of concurrent block requests during sync.

This is set to a low value by default, to avoid task and network contention. Increasing this value may improve performance on machines with many cores and a fast network connection.

lookahead_limit: usize

Controls how far ahead of the chain tip the syncer tries to download before waiting for queued verifications to complete.

Increasing this limit increases the buffer size, so it reduces the impact of an individual block request failing. The block size limit is 2MB, so in theory, this could represent multiple gigabytes of data, if we downloaded arbitrary blocks. However, because we randomly load balance outbound requests, and separate block download from obtaining block hashes, an adversary would have to control a significant fraction of our peers to lead us astray.

This value is clamped to an implementation-defined lower bound.

Trait Implementations

impl Clone for SyncSection[src]

impl Debug for SyncSection[src]

impl Default for SyncSection[src]

impl<'de> Deserialize<'de> for SyncSection where
    SyncSection: Default
[src]

impl Serialize for SyncSection[src]

Auto Trait Implementations

impl RefUnwindSafe for SyncSection

impl Send for SyncSection

impl Sync for SyncSection

impl Unpin for SyncSection

impl UnwindSafe for SyncSection

Blanket Implementations

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

impl<T> AsAny for T where
    T: Any
[src]

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

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

impl<C> Config for C where
    C: Debug + Default + DeserializeOwned
[src]

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> Erased for T

impl<T> FmtForward for T

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<D> OwoColorize for D

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

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> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

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

type Owned = T

The resulting type after obtaining ownership.

impl<T> TryConv for T

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<V, T> VZip<V> for T where
    V: MultiLane<T>, 

impl<T> WithSubscriber for T[src]