idem_handler/factory.rs
1use crate::handler::Handler;
2use idem_handler_config::config::ProviderType;
3
4pub trait HandlerFactory<Input, Output, Metadata>
5where
6 Input: Default + Send,
7 Output: Default + Send,
8 Metadata: Send
9{
10
11 type Err;
12 type CreatedHandler: Handler<Input, Output, Metadata>;
13
14 fn create_handler(
15 name: &str,
16 provider_type: ProviderType,
17 ) -> Result<Self::CreatedHandler, Self::Err>;
18}