ic_backup/model/application_ingress/
mod.rs1mod payload;
7mod request;
8pub use payload::{
9 ApplicationIngressPayload, MAX_APPLICATION_INGRESS_ARGUMENT_BYTES,
10 MAX_APPLICATION_INGRESS_METHOD_BYTES, MAX_APPLICATION_INGRESS_REPLY_BYTES,
11};
12pub use request::{ApplicationMutationRequest, ApplicationObservationRequest};
13
14use crate::model::{ic_observation::IcObservationRequestError, operation_plan::OperationPlanError};
15use thiserror::Error;
16
17#[derive(Debug, Error)]
19pub enum ApplicationIngressError {
20 #[error("original mutation reservation rejected: {0}")]
22 Reservation(#[from] crate::model::attempt_journal::MutationReservationError),
23 #[error("invalid application ingress principal")]
25 InvalidPrincipal,
26 #[error("application ingress cannot target the management canister")]
28 ManagementPrincipal,
29 #[error("invalid application ingress method")]
31 InvalidMethod,
32 #[error("application ingress arguments too large")]
34 ArgumentsTooLarge,
35 #[error("invalid application ingress reply limit")]
37 InvalidReplyLimit,
38 #[error("application ingress target mismatch")]
40 TargetMismatch,
41 #[error("application ingress payload mismatch")]
43 PayloadMismatch,
44 #[error(transparent)]
46 Observation(#[from] IcObservationRequestError),
47 #[error(transparent)]
49 Plan(#[from] OperationPlanError),
50}
51
52#[cfg(test)]
53mod tests;