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::{
15 attempt_journal::ObservationReservationError, operation_plan::OperationPlanError,
16};
17use thiserror::Error;
18
19#[derive(Debug, Error)]
21pub enum ApplicationIngressError {
22 #[error("original mutation reservation rejected: {0}")]
24 Reservation(#[from] crate::model::attempt_journal::MutationReservationError),
25 #[error("invalid application ingress principal")]
27 InvalidPrincipal,
28 #[error("application ingress cannot target the management canister")]
30 ManagementPrincipal,
31 #[error("invalid application ingress method")]
33 InvalidMethod,
34 #[error("application ingress arguments too large")]
36 ArgumentsTooLarge,
37 #[error("invalid application ingress reply limit")]
39 InvalidReplyLimit,
40 #[error("application ingress target mismatch")]
42 TargetMismatch,
43 #[error("application ingress payload mismatch")]
45 PayloadMismatch,
46 #[error(transparent)]
48 Observation(#[from] ObservationReservationError),
49 #[error(transparent)]
51 Plan(#[from] OperationPlanError),
52}
53
54#[cfg(test)]
55mod tests;