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

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

Sync configuration section.


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

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

impl<T> AsAny for T where
    T: Any

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

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

impl<T> Conv for T

impl<T> Conv 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>, 

impl<D> OwoColorize for D

impl<T> Pipe for T where
    T: ?Sized

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> 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

type Owned = T

The resulting type after obtaining ownership.

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

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]

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

impl<T> Erased for T