[−][src]Struct roa_tcp::TcpIncoming
A stream of connections from binding to an address. As an implementation of roa_core::Accept.
Methods
impl TcpIncoming
[src]
pub fn bind(addr: impl ToSocketAddrs) -> Result<Self>
[src]
Creates a new TcpIncoming
binding to provided socket address.
pub fn from_std(listener: StdListener) -> Result<Self>
[src]
Creates a new TcpIncoming
from std TcpListener.
pub fn local_addr(&self) -> SocketAddr
[src]
Get the local address bound to this listener.
pub fn set_nodelay(&mut self, enabled: bool) -> &mut Self
[src]
Set the value of TCP_NODELAY
option for accepted connections.
pub fn set_sleep_on_errors(&mut self, val: bool)
[src]
Set whether to sleep on accept errors.
A possible scenario is that the process has hit the max open files
allowed, and so trying to accept a new connection will fail with
EMFILE
. In some cases, it's preferable to just wait for some time, if
the application will likely close some files (or connections), and try
to accept the connection again. If this option is true
, the error
will be logged at the error
level, since it is still a big deal,
and then the listener will sleep for 1 second.
In other cases, hitting the max open files should be treat similarly
to being out-of-memory, and simply error (and shutdown). Setting
this option to false
will allow that.
Default is true
.
pub fn poll_stream(&mut self, cx: &mut Context) -> Poll<Result<TcpStream>>
[src]
Poll TcpStream.
Trait Implementations
impl Accept for TcpIncoming
[src]
type Conn = AddrStream
The connection type that can be accepted.
type Error = Error
The error type that can occur when accepting a connection.
fn poll_accept(
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Option<Result<Self::Conn, Self::Error>>>
[src]
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Option<Result<Self::Conn, Self::Error>>>
impl Debug for TcpIncoming
[src]
Auto Trait Implementations
impl !RefUnwindSafe for TcpIncoming
impl Send for TcpIncoming
impl Sync for TcpIncoming
impl Unpin for TcpIncoming
impl !UnwindSafe for TcpIncoming
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,