pub trait RouterHandlerProcessor<REQ, RESP>: Send + Syncwhere
REQ: Send + Sync + 'static + JsonCodec<REQ> + Display,
RESP: Send + Sync + 'static + JsonCodec<RESP> + Display,
RouterHandlerRequest<REQ, RESP>: RouterHandlerCategoryInfo,{
// Required methods
fn add_handler<'life0, 'life1, 'async_trait>(
&'life0 self,
chain: RouterHandlerChain,
id: &'life1 str,
index: i32,
filter: Option<String>,
req_path: Option<String>,
default_action: RouterHandlerAction,
routine: Option<Box<dyn EventListenerAsyncRoutine<RouterHandlerRequest<REQ, RESP>, RouterHandlerResponse<REQ, RESP>>>>
) -> Pin<Box<dyn Future<Output = BuckyResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn remove_handler<'life0, 'life1, 'async_trait>(
&'life0 self,
chain: RouterHandlerChain,
id: &'life1 str
) -> Pin<Box<dyn Future<Output = BuckyResult<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}