Enum brb::error::ValidationError[][src]

pub enum ValidationError<A: Actor<S> + 'static, S: Sig + 'static, V: Debug + Error + 'static> {
    PacketSourceIsNotDot {
        from: A,
        dot: Dot<A>,
    },
    MsgDotNotTheNextDot {
        msg_dot: Dot<A>,
        expected_dot: Dot<A>,
    },
    SourceAlreadyHasPendingMsg {
        msg_dot: Dot<A>,
        next_deliver_dot: Dot<A>,
    },
    MessageFromDifferentGeneration {
        msg_gen: Generation,
        gen: Generation,
    },
    SourceIsNotVotingMember {
        from: A,
        members: BTreeSet<A>,
    },
    DataTypeFailedValidation(V),
    InvalidSignature,
    SignedValidatedForPacketWeDidNotRequest,
    MsgDotNotNextDotToBeDelivered {
        msg_dot: Dot<A>,
        expected_dot: Dot<A>,
    },
    NotEnoughSignaturesToFormQuorum,
    ProofContainsSignaturesFromNonMembers,
    ProofContainsInvalidSignatures,
    PhantomSig(PhantomData<S>),
}

Enumerates types of packet validation errors.

Note that all of these errors are generated within the BRB module itself with the exception of DataTypeFailedValidation, which occurs when a BRBDataType validation fails according to its own internal logic.

Variants

PacketSourceIsNotDot

The actor who sent this packet is different from the actor who incremented the dot

Fields of PacketSourceIsNotDot

from: A

actor who sent the packet

dot: Dot<A>

the associated dot

MsgDotNotTheNextDot

The dot in this message is out of order

Fields of MsgDotNotTheNextDot

msg_dot: Dot<A>

dot of the message

expected_dot: Dot<A>

dot that was expected

SourceAlreadyHasPendingMsg

The source of this message already has a pending message, we can not start a new operation until the first one has completed

Fields of SourceAlreadyHasPendingMsg

msg_dot: Dot<A>

dot of the message

next_deliver_dot: Dot<A>

dot of next delivery

MessageFromDifferentGeneration

This message is not from this generation

Fields of MessageFromDifferentGeneration

msg_gen: Generation

generation of the message

gen: Generation

present generation

SourceIsNotVotingMember

Source is not a voting member

Fields of SourceIsNotVotingMember

from: A

actor that proposed the action

members: BTreeSet<A>

voting members

DataTypeFailedValidation(V)

the datatype failed to validate the operation

InvalidSignature

Signature is invalid

SignedValidatedForPacketWeDidNotRequest

We received a SignedValidated packet for a message we did not request

MsgDotNotNextDotToBeDelivered

Message dot to be applied is not the next message to be delivered

Fields of MsgDotNotNextDotToBeDelivered

msg_dot: Dot<A>

the dot in the msg

expected_dot: Dot<A>

the dot we are expecting

NotEnoughSignaturesToFormQuorum

The proof did not contain enough signatures to form quorum

ProofContainsSignaturesFromNonMembers

Proof contains signatures from non-members

ProofContainsInvalidSignatures

Proof contains invalid signatures

PhantomSig(PhantomData<S>)

Phantom, unused.

Trait Implementations

impl<A: Debug + Actor<S> + 'static, S: Debug + Sig + 'static, V: Debug + Error + 'static> Debug for ValidationError<A, S, V>[src]

impl<A: Actor<S> + 'static, S: Sig + 'static, V: Debug + Error + 'static> Display for ValidationError<A, S, V>[src]

impl<A: Actor<S> + 'static, S: Sig + 'static, V: Debug + Error + 'static> Error for ValidationError<A, S, V>[src]

impl<A: Actor<S> + 'static, S: Sig + 'static, V: Debug + Error + 'static> From<ValidationError<A, S, V>> for Error<A, S, V>[src]

Auto Trait Implementations

impl<A, S, V> RefUnwindSafe for ValidationError<A, S, V> where
    A: RefUnwindSafe,
    S: RefUnwindSafe,
    V: RefUnwindSafe

impl<A, S, V> Send for ValidationError<A, S, V> where
    A: Send,
    S: Send,
    V: Send

impl<A, S, V> Sync for ValidationError<A, S, V> where
    A: Sync,
    S: Sync,
    V: Sync

impl<A, S, V> Unpin for ValidationError<A, S, V> where
    A: Unpin,
    S: Unpin,
    V: Unpin

impl<A, S, V> UnwindSafe for ValidationError<A, S, V> where
    A: RefUnwindSafe + UnwindSafe,
    S: UnwindSafe,
    V: UnwindSafe

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,