diff --git a/src/stream.rs b/src/stream.rs index fcac31d..987d9be 100644 --- a/src/stream.rs +++ b/src/stream.rs @@ -1,6 +1,7 @@ use crate::{config, tcp, websocket, ResultType}; use sodiumoxide::crypto::secretbox::Key; use std::net::SocketAddr; +use tokio::net::TcpStream; // support Websocket and tcp. pub enum Stream { @@ -107,4 +108,9 @@ impl Stream { Self::Tcp(tcp) => tcp.local_addr(), } } + + #[inline] + pub fn from(stream: TcpStream, stream_addr: SocketAddr) -> Self { + Self::Tcp(tcp::FramedStream::from(stream, stream_addr)) + } }