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

source

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.

source

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.

source

pub fn local_addr(&self) -> Option<SocketAddr>

Get the local socket address to which this TcpListener is bound.

Trait Implementations§

source§

impl Debug for TcpListener

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Drop for TcpListener

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.