trace2e_core/traceability/
error.rs1use thiserror::Error;
23
24use crate::traceability::naming::Resource;
25
26#[derive(Debug, Error, PartialEq)]
27pub enum TraceabilityError {
28 #[error("Traceability error, internal trace2e API error")]
29 InternalTrace2eError,
30
31 #[error("Traceability error, invalid request")]
32 InvalidRequest,
33
34 #[error("Traceability error, undeclared resource (pid: {0}, fd: {1})")]
35 UndeclaredResource(i32, i32),
36
37 #[error("Traceability error, process not found (pid: {0})")]
38 InvalidProcess(i32),
39
40 #[error("Traceability error, invalid stream (local_socket: {0}, peer_socket: {1})")]
41 InvalidStream(String, String),
42
43 #[error("Traceability error, failed to instantiate flow due to system time error")]
44 SystemTimeError,
45
46 #[error("Traceability error, flow not found (id: {0})")]
47 NotFoundFlow(u128),
48
49 #[error("Traceability error, destination unavailable")]
50 UnavailableDestination(Resource),
51
52 #[error("Traceability error, source unavailable")]
53 UnavailableSource(Resource),
54
55 #[error("Traceability error, source and destination unavailable")]
56 UnavailableSourceAndDestination(Resource, Resource),
57
58 #[error("Traceability error, reached max retries waiting queue")]
59 ReachedMaxRetriesWaitingQueue,
60
61 #[error("Traceability error, direct policy violation")]
62 DirectPolicyViolation,
63
64 #[error("Traceability error, policy not found (resource: {0:?})")]
65 PolicyNotFound(Resource),
66
67 #[error("Traceability error, failed to contact remote middleware (IP: {0})")]
68 TransportFailedToContactRemote(String),
69
70 #[error("Traceability error, transport layer failed to evaluate remote IP")]
71 TransportFailedToEvaluateRemote,
72
73 #[error("Traceability error, consent request timeout")]
74 ConsentRequestTimeout,
75}