Files @ 4776bcc45b33
Branch filter:

Location: CSY/reowolf/src/runtime/errors.rs

4776bcc45b33 2.2 KiB application/rls-services+xml Show Annotation Show as Raw Download as Raw
Christopher Esterhuyse
serde for protocol {component state, description} + start of v2 connector internals
use crate::common::*;

#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum PortBindErr {
    AlreadyConnected,
    IndexOutOfBounds,
    NotConfigured,
    ParseErr,
    AlreadyConfigured,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum ReadGottenErr {
    NotConnected,
    IndexOutOfBounds,
    WrongPolarity,
    NoPreviousRound,
    DidNotGet,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum PortOpErr {
    IndexOutOfBounds,
    NotConnected,
    WrongPolarity,
    DuplicateOperation,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum ConfigErr {
    AlreadyConnected,
    ParseErr(String),
    AlreadyConfigured,
    NoSuchComponent,
    NonPortTypeParameters,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum ConnectErr {
    PortNotBound { native_index: usize },
    NotConfigured,
    AlreadyConnected,
    MetaProtocolDeviation,
    Disconnected,
    PollInitFailed,
    MessengerRecvErr(MessengerRecvErr),
    Timeout,
    PollingFailed,
    PolarityMatched(SocketAddr),
    AcceptFailed(SocketAddr),
    PassiveConnectFailed(SocketAddr),
    BindFailed(SocketAddr),
}
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum PollDeadlineErr {
    PollingFailed,
    Timeout,
}

#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum EndpointErr {
    Disconnected,
    MetaProtocolDeviation,
}

#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum SyncErr {
    NotConnected,
    MessengerRecvErr(MessengerRecvErr),
    Inconsistent,
    Timeout,
    ElaborateFromNonChild,
    AnnounceFromNonParent,
    PayloadPremiseExcludesTheChannel(ChannelId),
    UnexpectedSetupMsg,
    EndpointErr(EndpointErr),
    EvalErr(EvalErr),
}
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum EvalErr {
    ComponentExitWhileBranching,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum MessengerRecvErr {
    PollingFailed,
    EndpointErr(Port, EndpointErr),
}
impl From<MainComponentErr> for ConfigErr {
    fn from(e: MainComponentErr) -> Self {
        use ConfigErr as C;
        use MainComponentErr as M;
        match e {
            M::NoSuchComponent => C::NoSuchComponent,
            M::NonPortTypeParameters => C::NonPortTypeParameters,
            _ => todo!(),
        }
    }
}