use tokio_stream::Stream;
pub trait StreamRequest {
type Stream: Stream<Item = Self::Item>;
type Item;
}
pub trait StreamRequestHandler {
type Request: StreamRequest<Stream = Self::Stream, Item = Self::Item>;
type Stream: Stream<Item = Self::Item>;
type Item;
fn handle_stream(&mut self, req: Self::Request) -> Self::Stream;
}