pub struct SubspaceSyncOracle<SO>{ /* private fields */ }
Expand description
Subspace sync oracle.
Subspace sync oracle that takes into account force authoring flag, allowing to bootstrap Subspace network from scratch due to our fork of Substrate where sync state of nodes depends on connected nodes (none of which will be synced initially). It also accounts for DSN sync, when normal Substrate sync is paused, which might happen before Substrate’s internals decide there is a sync happening, but DSN sync is already in progress.
Implementations§
source§impl<SO> SubspaceSyncOracle<SO>
impl<SO> SubspaceSyncOracle<SO>
sourcepub fn new(
force_authoring: bool,
pause_sync: Arc<AtomicBool>,
substrate_sync_oracle: SO,
) -> Self
pub fn new( force_authoring: bool, pause_sync: Arc<AtomicBool>, substrate_sync_oracle: SO, ) -> Self
Create new instance
Trait Implementations§
source§impl<SO> Clone for SubspaceSyncOracle<SO>
impl<SO> Clone for SubspaceSyncOracle<SO>
source§fn clone(&self) -> SubspaceSyncOracle<SO>
fn clone(&self) -> SubspaceSyncOracle<SO>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<SO> Debug for SubspaceSyncOracle<SO>
impl<SO> Debug for SubspaceSyncOracle<SO>
source§impl<SO> SyncOracle for SubspaceSyncOracle<SO>
impl<SO> SyncOracle for SubspaceSyncOracle<SO>
source§fn is_major_syncing(&self) -> bool
fn is_major_syncing(&self) -> bool
Whether the synchronization service is undergoing major sync.
Returns true if so.
source§fn is_offline(&self) -> bool
fn is_offline(&self) -> bool
Whether the synchronization service is offline.
Returns true if so.
Auto Trait Implementations§
impl<SO> Freeze for SubspaceSyncOracle<SO>where
SO: Freeze,
impl<SO> RefUnwindSafe for SubspaceSyncOracle<SO>where
SO: RefUnwindSafe,
impl<SO> Send for SubspaceSyncOracle<SO>
impl<SO> Sync for SubspaceSyncOracle<SO>
impl<SO> Unpin for SubspaceSyncOracle<SO>where
SO: Unpin,
impl<SO> UnwindSafe for SubspaceSyncOracle<SO>where
SO: UnwindSafe,
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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>
Converts
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>
Converts
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 more§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read more§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.