Files @ 8ab15200d9a4
Branch filter:

Location: CSY/reowolf/src/runtime/error.rs - annotation

8ab15200d9a4 1.1 KiB application/rls-services+xml Show Source Show as Raw Download as Raw
Christopher Esterhuyse
misc refactoring: (1) more thorough error handling, (2) more modular functions
use crate::common::*;

#[derive(Debug)]
pub enum ConnectError {
    BindFailed(SocketAddr),
    PollInitFailed,
    Timeout,
    PollFailed,
    AcceptFailed(SocketAddr),
    AlreadyConnected,
    PortPeerPolarityMismatch(PortId),
    EndpointSetupError(SocketAddr, EndpointError),
    SetupAlgMisbehavior,
}
////////////////////////
#[derive(Debug, Clone)]
pub enum SyncError {
    NotConnected,
    InconsistentProtoComponent(ProtoComponentId),
    IndistinguishableBatches([usize; 2]),
    RoundFailure,
    PollFailed,
    BrokenEndpoint(usize),
    MalformedStateError(MalformedStateError),
}
#[derive(Debug, Clone)]
pub enum MalformedStateError {
    PortCannotPut(PortId),
    GetterUnknownFor { putter: PortId },
}
#[derive(Debug, Clone)]
pub enum EndpointError {
    MalformedMessage,
    BrokenEndpoint,
}
#[derive(Debug)]
pub enum PortOpError {
    WrongPolarity,
    UnknownPolarity,
    NotConnected,
    MultipleOpsOnPort,
    PortUnavailable,
}
#[derive(Debug, Eq, PartialEq)]
pub enum GottenError {
    NoPreviousRound,
    PortDidntGet,
    PreviousSyncFailed,
}
#[derive(Debug, Eq, PartialEq)]
pub enum NextBatchError {
    NotConnected,
}