make tcp sync
This commit is contained in:
parent
a1b9e1b229
commit
326eed5ee0
@ -18,7 +18,7 @@ use tokio_socks::{tcp::Socks5Stream, IntoTargetAddr, ToProxyAddrs};
|
|||||||
use tokio_util::codec::Framed;
|
use tokio_util::codec::Framed;
|
||||||
|
|
||||||
pub trait TcpStreamTrait: AsyncRead + AsyncWrite + Unpin {}
|
pub trait TcpStreamTrait: AsyncRead + AsyncWrite + Unpin {}
|
||||||
pub struct DynTcpStream(Box<dyn TcpStreamTrait + Send>);
|
pub struct DynTcpStream(Box<dyn TcpStreamTrait + Send + Sync>);
|
||||||
|
|
||||||
pub struct FramedStream(
|
pub struct FramedStream(
|
||||||
Framed<DynTcpStream, BytesCodec>,
|
Framed<DynTcpStream, BytesCodec>,
|
||||||
@ -42,7 +42,7 @@ impl DerefMut for FramedStream {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Deref for DynTcpStream {
|
impl Deref for DynTcpStream {
|
||||||
type Target = Box<dyn TcpStreamTrait + Send>;
|
type Target = Box<dyn TcpStreamTrait + Send + Sync>;
|
||||||
|
|
||||||
fn deref(&self) -> &Self::Target {
|
fn deref(&self) -> &Self::Target {
|
||||||
&self.0
|
&self.0
|
||||||
@ -149,7 +149,7 @@ impl FramedStream {
|
|||||||
self.3 = ms;
|
self.3 = ms;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn from(stream: impl TcpStreamTrait + Send + 'static, addr: SocketAddr) -> Self {
|
pub fn from(stream: impl TcpStreamTrait + Send + Sync + 'static, addr: SocketAddr) -> Self {
|
||||||
Self(
|
Self(
|
||||||
Framed::new(DynTcpStream(Box::new(stream)), BytesCodec::new()),
|
Framed::new(DynTcpStream(Box::new(stream)), BytesCodec::new()),
|
||||||
addr,
|
addr,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user