Struct vapcore_snapshot::PowRebuilder[][src]

pub struct PowRebuilder { /* fields omitted */ }

Rebuilder for proof-of-work chains. Does basic verification for all blocks, but PoW verification for some. Blocks must be fed in-order.

The first block in every chunk is disconnected from the last block in the chunk before it, as chunks may be submitted out-of-order.

After all chunks have been submitted, we “glue” the chunks together.

Trait Implementations

impl Rebuilder for PowRebuilder[src]

fn feed(
    &mut self,
    chunk: &[u8],
    engine: &dyn Engine,
    abort_flag: &AtomicBool
) -> Result<(), VapcoreError>
[src]

Feed the rebuilder an uncompressed block chunk. Returns the number of blocks fed or any errors.

fn finalize(&mut self) -> Result<(), VapcoreError>[src]

Glue together any disconnected chunks and check that the chain is complete.

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> From<T> 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, 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>,