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}