pub struct SignedSubmissions<T: Config> { /* private fields */ }Expand description
Mask type which pretends to be a set of SignedSubmissionOf<T>, while in fact delegating to the
actual implementations in SignedSubmissionIndices<T>, SignedSubmissionsMap<T>, and
SignedSubmissionNextIndex<T>.
Implementations§
source§impl<T: Config> SignedSubmissions<T>
impl<T: Config> SignedSubmissions<T>
sourcepub fn pop_last(&mut self) -> Option<SignedSubmissionOf<T>>
pub fn pop_last(&mut self) -> Option<SignedSubmissionOf<T>>
Remove the signed submission with the highest score from the set.
sourcepub fn iter(&self) -> impl '_ + Iterator<Item = SignedSubmissionOf<T>>
pub fn iter(&self) -> impl '_ + Iterator<Item = SignedSubmissionOf<T>>
Iterate through the set of signed submissions in order of increasing score.
sourcepub fn decode_len() -> Option<usize>
pub fn decode_len() -> Option<usize>
Decode the length of the signed submissions without actually reading the entire struct into memory.
Note that if you hold an instance of SignedSubmissions, this function does not
track its current length. This only decodes what is currently stored in memory.
sourcepub fn insert(&mut self, submission: SignedSubmissionOf<T>) -> InsertResult<T>
pub fn insert(&mut self, submission: SignedSubmissionOf<T>) -> InsertResult<T>
Insert a new signed submission into the set.
In the event that the new submission is not better than the current weakest according
to is_score_better, we do not change anything.
Trait Implementations§
Auto Trait Implementations§
impl<T> RefUnwindSafe for SignedSubmissions<T>where
<T as Config>::AccountId: RefUnwindSafe,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: RefUnwindSafe,
<T as Config>::BlockNumber: RefUnwindSafe,
<T as Config>::SignedMaxSubmissions: RefUnwindSafe,
<<T as Config>::MinerConfig as MinerConfig>::Solution: RefUnwindSafe,
impl<T> Send for SignedSubmissions<T>where
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Send,
<T as Config>::SignedMaxSubmissions: Send,
<<T as Config>::MinerConfig as MinerConfig>::Solution: Send,
impl<T> Sync for SignedSubmissions<T>where
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Sync,
<T as Config>::SignedMaxSubmissions: Sync,
<<T as Config>::MinerConfig as MinerConfig>::Solution: Sync,
impl<T> Unpin for SignedSubmissions<T>where
<T as Config>::BlockNumber: Unpin,
<T as Config>::SignedMaxSubmissions: Unpin,
impl<T> UnwindSafe for SignedSubmissions<T>where
<T as Config>::AccountId: RefUnwindSafe,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: RefUnwindSafe,
<T as Config>::BlockNumber: UnwindSafe,
<T as Config>::SignedMaxSubmissions: UnwindSafe,
<<T as Config>::MinerConfig as MinerConfig>::Solution: RefUnwindSafe,
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read moresource§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read moresource§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read moresource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read moresource§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.