1
2
3
4
5
6
7
8
9
10
use crate::prelude::{ApplicationError, ApplicationResponse, TCommand};

pub trait TCommandService<R, E, C>: Send + Sync
where
	R: ApplicationResponse,
	E: ApplicationError,
	C: TCommand,
{
	fn execute(&mut self, cmd: C) -> impl std::future::Future<Output = Result<R, E>> + Send;
}