Skip to main content

appletheia_application/
command.rs

1pub mod command_dispatch_error;
2pub mod command_dispatcher;
3pub mod command_failure_report;
4pub mod command_handler;
5pub mod command_hash;
6pub mod command_hasher;
7pub mod command_name;
8pub mod command_name_owned;
9pub mod command_name_owned_error;
10pub mod command_selector;
11pub mod command_worker;
12pub mod command_worker_error;
13pub mod default_command_dispatcher;
14pub mod default_command_hasher;
15pub mod default_command_worker;
16pub mod idempotency_begin_result;
17pub mod idempotency_error;
18pub mod idempotency_output;
19pub mod idempotency_output_error;
20pub mod idempotency_service;
21pub mod idempotency_state;
22
23pub use command_dispatch_error::CommandDispatchError;
24pub use command_dispatcher::CommandDispatcher;
25pub use command_failure_report::CommandFailureReport;
26pub use command_handler::CommandHandler;
27pub use command_hash::{CommandHash, CommandHashError};
28pub use command_hasher::CommandHasher;
29pub use command_hasher::CommandHasherError;
30pub use command_name::CommandName;
31pub use command_name_owned::CommandNameOwned;
32pub use command_name_owned_error::CommandNameOwnedError;
33pub use command_selector::CommandSelector;
34pub use command_worker::CommandWorker;
35pub use command_worker_error::CommandWorkerError;
36pub use default_command_dispatcher::DefaultCommandDispatcher;
37pub use default_command_hasher::DefaultCommandHasher;
38pub use default_command_worker::DefaultCommandWorker;
39pub use idempotency_begin_result::IdempotencyBeginResult;
40pub use idempotency_error::IdempotencyError;
41pub use idempotency_output::IdempotencyOutput;
42pub use idempotency_output_error::IdempotencyOutputError;
43pub use idempotency_service::IdempotencyService;
44pub use idempotency_state::IdempotencyState;
45
46use serde::Serialize;
47use serde::de::DeserializeOwned;
48
49pub trait Command: Serialize + DeserializeOwned + Send + 'static {
50    const NAME: CommandName;
51}