use crate::general::IOStream;
#[async_trait::async_trait]
pub trait ProxyStream {
type Stream: IOStream;
type ErrorKind;
type ConnParams;
async fn connect(stream: Self::Stream, params: Self::ConnParams)
-> Result<Self, Self::ErrorKind>
where
Self: Sized;
}