@@ -8,12 +8,15 @@ use std::{fmt, io};
88
99use mlua:: { AnyUserData , Error , FromLua , IntoLua , Lua , MaybeSend , Result , Value } ;
1010use tokio:: io:: { AsyncRead , AsyncWrite , ReadBuf } ;
11+ use tokio:: net:: TcpStream ;
12+ #[ cfg( unix) ]
13+ use tokio:: net:: UnixStream ;
1114
12- use super :: tcp:: { TcpListener , TcpStream } ;
15+ use super :: tcp:: { LuaTcpListener , LuaTcpStream } ;
1316#[ cfg( feature = "tls" ) ]
14- use super :: tls:: { TlsListener , TlsStream } ;
17+ use super :: tls:: { LuaTlsListener , LuaTlsStream } ;
1518#[ cfg( unix) ]
16- use super :: unix:: { UnixListener , UnixStream } ;
19+ use super :: unix:: { LuaUnixListener , LuaUnixStream } ;
1720
1821/// Socket address that can be either TCP or Unix domain socket.
1922pub enum AnySocketAddr {
@@ -50,7 +53,7 @@ pub trait AddressProvider {
5053 fn peer_addr ( & self ) -> io:: Result < AnySocketAddr > ;
5154}
5255
53- impl AddressProvider for tokio :: net :: TcpStream {
56+ impl AddressProvider for TcpStream {
5457 fn local_addr ( & self ) -> io:: Result < AnySocketAddr > {
5558 Ok ( AnySocketAddr :: IP ( self . local_addr ( ) ?) )
5659 }
@@ -61,7 +64,7 @@ impl AddressProvider for tokio::net::TcpStream {
6164}
6265
6366#[ cfg( unix) ]
64- impl AddressProvider for tokio :: net :: UnixStream {
67+ impl AddressProvider for UnixStream {
6568 fn local_addr ( & self ) -> io:: Result < AnySocketAddr > {
6669 Ok ( AnySocketAddr :: Unix ( self . local_addr ( ) ?) )
6770 }
@@ -73,13 +76,13 @@ impl AddressProvider for tokio::net::UnixStream {
7376
7477/// A stream that can be either TCP or Unix domain socket, possibly wrapped in TLS.
7578pub enum AnyStream {
76- Tcp ( TcpStream ) ,
79+ Tcp ( LuaTcpStream ) ,
7780 #[ cfg( unix) ]
78- Unix ( UnixStream ) ,
81+ Unix ( LuaUnixStream ) ,
7982 #[ cfg( feature = "tls" ) ]
80- TcpTls ( TlsStream < TcpStream > ) ,
83+ TcpTls ( LuaTlsStream < LuaTcpStream > ) ,
8184 #[ cfg( all( unix, feature = "tls" ) ) ]
82- UnixTls ( TlsStream < UnixStream > ) ,
85+ UnixTls ( LuaTlsStream < LuaUnixStream > ) ,
8386}
8487
8588impl AsyncRead for AnyStream {
@@ -152,23 +155,23 @@ impl FromLua for AnyStream {
152155 fn from_lua ( value : Value , lua : & Lua ) -> Result < Self > {
153156 let value = lua. unpack :: < AnyUserData > ( value) ?;
154157 match value. type_id ( ) {
155- Some ( id) if id == TypeId :: of :: < TcpStream > ( ) => {
156- let stream = value. take :: < TcpStream > ( ) ?;
158+ Some ( id) if id == TypeId :: of :: < LuaTcpStream > ( ) => {
159+ let stream = value. take :: < LuaTcpStream > ( ) ?;
157160 Ok ( AnyStream :: Tcp ( stream) )
158161 }
159162 #[ cfg( unix) ]
160- Some ( id) if id == TypeId :: of :: < UnixStream > ( ) => {
161- let stream = value. take :: < UnixStream > ( ) ?;
163+ Some ( id) if id == TypeId :: of :: < LuaUnixStream > ( ) => {
164+ let stream = value. take :: < LuaUnixStream > ( ) ?;
162165 Ok ( AnyStream :: Unix ( stream) )
163166 }
164167 #[ cfg( feature = "tls" ) ]
165- Some ( id) if id == TypeId :: of :: < TlsStream < TcpStream > > ( ) => {
166- let stream = value. take :: < TlsStream < TcpStream > > ( ) ?;
168+ Some ( id) if id == TypeId :: of :: < LuaTlsStream < LuaTcpStream > > ( ) => {
169+ let stream = value. take :: < LuaTlsStream < LuaTcpStream > > ( ) ?;
167170 Ok ( AnyStream :: TcpTls ( stream) )
168171 }
169172 #[ cfg( all( unix, feature = "tls" ) ) ]
170- Some ( id) if id == TypeId :: of :: < TlsStream < UnixStream > > ( ) => {
171- let stream = value. take :: < TlsStream < UnixStream > > ( ) ?;
173+ Some ( id) if id == TypeId :: of :: < LuaTlsStream < LuaUnixStream > > ( ) => {
174+ let stream = value. take :: < LuaTlsStream < LuaUnixStream > > ( ) ?;
172175 Ok ( AnyStream :: UnixTls ( stream) )
173176 }
174177 _ => {
@@ -186,13 +189,13 @@ impl FromLua for AnyStream {
186189
187190/// A listener that can be either TCP or Unix domain socket, possibly wrapped in TLS.
188191pub enum AnyListener {
189- Tcp ( TcpListener ) ,
192+ Tcp ( LuaTcpListener ) ,
190193 #[ cfg( unix) ]
191- Unix ( UnixListener ) ,
194+ Unix ( LuaUnixListener ) ,
192195 #[ cfg( feature = "tls" ) ]
193- TcpTls ( TlsListener < TcpListener > ) ,
196+ TcpTls ( LuaTlsListener < LuaTcpListener > ) ,
194197 #[ cfg( all( unix, feature = "tls" ) ) ]
195- UnixTls ( TlsListener < UnixListener > ) ,
198+ UnixTls ( LuaTlsListener < LuaUnixListener > ) ,
196199}
197200
198201/// Trait for accepting incoming connections from various listener types.
@@ -251,23 +254,23 @@ impl FromLua for AnyListener {
251254 fn from_lua ( value : Value , lua : & Lua ) -> Result < Self > {
252255 let value = lua. unpack :: < AnyUserData > ( value) ?;
253256 match value. type_id ( ) {
254- Some ( id) if id == TypeId :: of :: < TcpListener > ( ) => {
255- let listener = value. take :: < TcpListener > ( ) ?;
257+ Some ( id) if id == TypeId :: of :: < LuaTcpListener > ( ) => {
258+ let listener = value. take :: < LuaTcpListener > ( ) ?;
256259 Ok ( AnyListener :: Tcp ( listener) )
257260 }
258261 #[ cfg( unix) ]
259- Some ( id) if id == TypeId :: of :: < UnixListener > ( ) => {
260- let listener = value. take :: < UnixListener > ( ) ?;
262+ Some ( id) if id == TypeId :: of :: < LuaUnixListener > ( ) => {
263+ let listener = value. take :: < LuaUnixListener > ( ) ?;
261264 Ok ( AnyListener :: Unix ( listener) )
262265 }
263266 #[ cfg( feature = "tls" ) ]
264- Some ( id) if id == TypeId :: of :: < TlsListener < TcpListener > > ( ) => {
265- let listener = value. take :: < TlsListener < TcpListener > > ( ) ?;
267+ Some ( id) if id == TypeId :: of :: < LuaTlsListener < LuaTcpListener > > ( ) => {
268+ let listener = value. take :: < LuaTlsListener < LuaTcpListener > > ( ) ?;
266269 Ok ( AnyListener :: TcpTls ( listener) )
267270 }
268271 #[ cfg( all( unix, feature = "tls" ) ) ]
269- Some ( id) if id == TypeId :: of :: < TlsListener < UnixListener > > ( ) => {
270- let listener = value. take :: < TlsListener < UnixListener > > ( ) ?;
272+ Some ( id) if id == TypeId :: of :: < LuaTlsListener < LuaUnixListener > > ( ) => {
273+ let listener = value. take :: < LuaTlsListener < LuaUnixListener > > ( ) ?;
271274 Ok ( AnyListener :: UnixTls ( listener) )
272275 }
273276 _ => {
0 commit comments