Skip to main content

typhoon/flow/
error.rs

1use thiserror::Error;
2
3use crate::cache::CacheError;
4use crate::crypto::CryptoError;
5use crate::utils::socket::SocketError;
6
7#[derive(Error, Debug)]
8pub enum FlowControllerError {
9    #[error("error creating a flow manager: {}", .0.to_string())]
10    SocketError(#[source] SocketError),
11
12    #[error("packet too long to be sent with given configuration: {expected} < {overhead} ({actual} + overhead)")]
13    OversizePacket {
14        expected: usize,
15        actual: usize,
16        overhead: usize,
17    },
18
19    #[error("error accessing cached cipher: {}", .0.to_string())]
20    MissingCache(#[source] CacheError),
21
22    #[error("error encrypting packet tailer: {}", .0.to_string())]
23    TailerEncryption(#[source] CryptoError),
24
25    #[error("flow config assertion failed: {message}")]
26    AssertionFailed {
27        message: String,
28    },
29
30    #[error("user not found in flow manager: {identity}")]
31    UserNotFound {
32        identity: String,
33    },
34}