Enum nng::options::transport::tcp::KeepAlive[][src]

pub enum KeepAlive {}

Enable the sending of keep-alive messages on the underlying TCP stream.

This option is false by default. When enabled, if no messages are seen for a period of time, then a zero length TCP message is sent with the ACK flag set in an attempt to tickle some traffic from the peer. If none is still seen (after some platform-specific number of retries and timeouts), then the remote peer is presumed dead, and the connection is closed.

This option has two purposes. First, it can be used to detect dead peers on an otherwise quiescent network. Second, it can be used to keep connection table entries in NAT and other middleware from being expiring due to lack of activity.

Support

  • Dialers and Listeners can use this option with the following transports:
    • TCP
    • TLS
  • Pipes can read this value on the following transports:
    • TCP
    • TLS
  • Sockets can use this to set a default value.

Trait Implementations

impl Clone for KeepAlive[src]

impl Copy for KeepAlive[src]

impl Debug for KeepAlive[src]

impl Display for KeepAlive[src]

impl Eq for KeepAlive[src]

impl GetOpt<KeepAlive> for Dialer[src]

impl GetOpt<KeepAlive> for DialerBuilder[src]

impl GetOpt<KeepAlive> for Listener[src]

impl GetOpt<KeepAlive> for ListenerBuilder[src]

impl GetOpt<KeepAlive> for Pipe[src]

impl Hash for KeepAlive[src]

impl Opt for KeepAlive[src]

type OptType = bool

The type that the option read and writes.

impl Ord for KeepAlive[src]

impl PartialEq<KeepAlive> for KeepAlive[src]

impl PartialOrd<KeepAlive> for KeepAlive[src]

impl SetOpt<KeepAlive> for DialerBuilder[src]

impl SetOpt<KeepAlive> for ListenerBuilder[src]

impl SetOpt<KeepAlive> for Socket[src]

impl StructuralEq for KeepAlive[src]

impl StructuralPartialEq for KeepAlive[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.