Struct mtcp_rs::TcpListener
source · pub struct TcpListener { /* private fields */ }
Expand description
A TCP socket server, listening for connections, akin to
std::net::TcpListener
All I/O operations provided by mtcp_rs::TcpListener
are “blocking”, but –
unlike the std::net
implementation – proper timeout and
cancellation support is available. The mtcp_rs::TcpListener
is tied
to an mtcp_rs::TcpManager
instance.
If the timeout
parameter was set to Some(Duration)
and if the I/O
operation does not complete before the specified timeout period
expires, then the pending I/O operation will be aborted and fail with an
TcpError::TimedOut
error.
Implementations§
source§impl TcpListener
impl TcpListener
sourcepub fn bind(manager: &Rc<TcpManager>, addr: SocketAddr) -> IoResult<Self>
pub fn bind(manager: &Rc<TcpManager>, addr: SocketAddr) -> IoResult<Self>
Creates a new TcpListener
which will be bound to the specified socket address.
The new TcpListener
is tied to the specified TcpManager
instance.
sourcepub fn accept(
&self,
timeout: Option<Duration>
) -> Result<TcpConnection, TcpError>
pub fn accept( &self, timeout: Option<Duration> ) -> Result<TcpConnection, TcpError>
Accept a new incoming TCP connection from this listener.
An optional timeout can be specified, after which the operation is going to fail, if there is no incoming connection yet.
sourcepub fn local_addr(&self) -> Option<SocketAddr>
pub fn local_addr(&self) -> Option<SocketAddr>
Get the local socket address to which this TcpListener
is bound.