pub enum AddShareOutcome<S: PixSpec> {
Duplicate,
Surplus,
Absorbed,
Useful,
Completed(PixScalar<S>),
}Expand description
What a share contributed to its polynomial.
The non-contributing outcomes are kept apart because they are not equivalent to a caller
counting progress: a Duplicate says the peer re-sent an evaluation point, a Surplus is a
structurally valid candidate for the cycle’s bounded post-reconstruction allowance, and
Absorbed says the polynomial has already failed and nothing can change that.
Variants§
Duplicate
Same evaluation identifier as a share already collected for this polynomial.
Surplus
Arrived after the polynomial was already reconstructed and passed structural validation. The cycle’s shared per-polynomial counter decides whether budget remains.
Absorbed
Arrived after the polynomial failed to open its commitment, and was discarded.
Useful
New and distinct, but the threshold is not reached yet.
Completed(PixScalar<S>)
Reached the threshold; the constant term reconstructed and opened its commitment.
Auto Trait Implementations§
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
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§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>
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 more