[][src]Struct grin_chain::txhashset::RewindableKernelView

pub struct RewindableKernelView<'a> { /* fields omitted */ }

Rewindable (but readonly) view of the kernel set (based on kernel MMR).

Methods

impl<'a> RewindableKernelView<'a>
[src]

Build a new readonly kernel view.

Accessor for the batch used in this view. We will discard this batch (rollback) at the end, so be aware of this. Nothing will get written to the db/index via this view.

Rewind this readonly view to a previous block. We accomplish this in a readonly way because we can rewind the PMMR via last_pos, without rewinding the underlying backend files.

Special handling to make sure the whole kernel set matches each of its roots in each block header, without truncation. We go back header by header, rewind and check each root. This fixes a potential weakness in fast sync where a reorg past the horizon could allow a whole rewrite of the kernel set.

Auto Trait Implementations

impl<'a> !Send for RewindableKernelView<'a>

impl<'a> !Sync for RewindableKernelView<'a>

Blanket Implementations

impl<T> From for T
[src]

Performs the conversion.

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

Performs the conversion.

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

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

Immutably borrows from an owned value. Read more

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

🔬 This is a nightly-only experimental API. (get_type_id)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

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

Mutably borrows from an owned value. Read more

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

Given ptr, which was obtained from a prior call to Self::borrow(), return a value with the same nominal lifetime which is guaranteed to survive mutations to Self. Read more

impl<T> UnsafeAny for T where
    T: Any

impl<T> Erased for T

impl<T> Same for T

Should always be Self