pub struct SnapAttempt { /* private fields */ }Expand description
The snap synchronization attempt that owns the downloaded state.
Snap writes land in the canonical hashed state tables, so this record is what separates state a live attempt is filling in from what an abandoned one left behind. It is never deleted: an abandoned attempt keeps its identity, so a later attempt can never take it.
Implementations§
Source§impl SnapAttempt
impl SnapAttempt
Sourcepub const fn start(
previous: Option<Self>,
pivot: BlockNumHash,
state_root: B256,
) -> Self
pub const fn start( previous: Option<Self>, pivot: BlockNumHash, state_root: B256, ) -> Self
Creates the record for an attempt superseding previous.
Sourcepub const fn id(&self) -> SnapAttemptId
pub const fn id(&self) -> SnapAttemptId
Identity of this attempt.
Sourcepub const fn state_root(&self) -> B256
pub const fn state_root(&self) -> B256
Root downloaded ranges authenticate against.
Sourcepub const fn state_version(&self) -> u64
pub const fn state_version(&self) -> u64
Generation of the pivot this attempt is anchored to.
Sourcepub const fn is_unfinished(&self) -> bool
pub const fn is_unfinished(&self) -> bool
Returns whether the downloaded state is still incomplete.
Sourcepub const fn is_verified(&self) -> bool
pub const fn is_verified(&self) -> bool
Returns whether the reconstructed trie root matched the target header.
Trait Implementations§
Source§impl Clone for SnapAttempt
impl Clone for SnapAttempt
impl Copy for SnapAttempt
Source§impl Debug for SnapAttempt
impl Debug for SnapAttempt
Source§impl<'de> Deserialize<'de> for SnapAttempt
impl<'de> Deserialize<'de> for SnapAttempt
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for SnapAttempt
Source§impl PartialEq for SnapAttempt
impl PartialEq for SnapAttempt
Source§impl Serialize for SnapAttempt
impl Serialize for SnapAttempt
impl StructuralPartialEq for SnapAttempt
Auto Trait Implementations§
impl Freeze for SnapAttempt
impl RefUnwindSafe for SnapAttempt
impl Send for SnapAttempt
impl Sync for SnapAttempt
impl Unpin for SnapAttempt
impl UnsafeUnpin for SnapAttempt
impl UnwindSafe for SnapAttempt
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreimpl<T> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSerde for Twhere
T: Serialize + for<'de> Deserialize<'de>,
§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 96 bytes