pub async fn local_service<Err, EventEncoderT, CompletedEventT, EventDecoderT, EventT, EventHandlerT>(
input_directory: impl AsRef<str>,
output_directory: impl AsRef<str>,
event_encoder: EventEncoderT,
event_decoder: EventDecoderT,
event_handler: EventHandlerT
) -> Result<(), Box<dyn Error>> where
Err: Debug + Clone + Send + Sync + 'static,
CompletedEventT: Clone + Send + Sync + 'static,
EventT: Clone + Send + Sync + 'static,
EventEncoderT: CompletionEventSerializer<CompletedEvent = CompletedEventT, Output = Vec<u8>, Error = Error<Err>> + Clone + Send + Sync + 'static,
EventDecoderT: PayloadDecoder<EventT> + Clone + Send + Sync + 'static,
EventHandlerT: EventHandler<InputEvent = EventT, OutputEvent = CompletedEventT, Error = Error<Err>> + Clone + Send + Sync + 'static,