miltr_common/actions/
mod.rs

1//! Control flow (re-)actions to `Commands`.
2//!
3//! These actions indicate to the communications partner how to react regarding
4//! the last command.
5
6mod bidirectional;
7mod quit;
8mod to_mta_only;
9
10use enum_dispatch::enum_dispatch;
11
12pub use self::bidirectional::{Abort, Continue};
13pub use self::quit::{Quit, QuitNc};
14pub use self::to_mta_only::{Discard, Reject, Replycode, Skip, Tempfail};
15
16/// All control-flow actions combined
17///
18/// See the contained variants for more.
19#[allow(missing_docs)]
20#[enum_dispatch]
21#[cfg_attr(feature = "tracing", derive(strum::Display))]
22#[derive(Debug, Clone)]
23pub enum Action {
24    Continue,
25    Abort,
26
27    Discard,
28    Reject,
29    Tempfail,
30    Skip,
31    Replycode,
32
33    Quit,
34    QuitNc,
35}