[][src]Struct spirit_tokio::net::limits::WithListenLimits

pub struct WithListenLimits<Listener, Limits> {
    pub listener: Listener,
    // some fields omitted
}

A wrapper around a listening socket Fragment that adds limits and error handling to it.

There's also the convenience type alias WithLimits.

Note that the applied limits are per-instance. If there are two sockets in eg Vec<TcpListenWithLimits>, their limits are independent. In addition, if a configuration of a socket changes, the old listening socket is destroyed but the old connections are kept around until they terminate. The new listening socket starts with fresh limits, not counting the old connections.

Fields

listener: Listener

The inner listener socket.

This is available publicly to allow reading the extra configuration out of it.

Trait Implementations

impl<Listener: Clone, Limits: Clone> Clone for WithListenLimits<Listener, Limits>[src]

impl<Listener: Default, Limits: Default> Default for WithListenLimits<Listener, Limits>[src]

impl<Listener: Eq, Limits: Eq> Eq for WithListenLimits<Listener, Limits>[src]

impl<Listener: Ord, Limits: Ord> Ord for WithListenLimits<Listener, Limits>[src]

impl<Listener: PartialEq, Limits: PartialEq> PartialEq<WithListenLimits<Listener, Limits>> for WithListenLimits<Listener, Limits>[src]

impl<Listener: PartialOrd, Limits: PartialOrd> PartialOrd<WithListenLimits<Listener, Limits>> for WithListenLimits<Listener, Limits>[src]

impl<Listener: Debug, Limits: Debug> Debug for WithListenLimits<Listener, Limits>[src]

impl<Listener: Hash, Limits: Hash> Hash for WithListenLimits<Listener, Limits>[src]

impl<Listener, Limits> Serialize for WithListenLimits<Listener, Limits> where
    Listener: Serialize,
    Limits: Serialize
[src]

impl<'de, Listener, Limits> Deserialize<'de> for WithListenLimits<Listener, Limits> where
    Listener: Deserialize<'de>,
    Limits: Deserialize<'de>, 
[src]

impl<Listener, Limits> Comparable<WithListenLimits<Listener, Limits>> for WithListenLimits<Listener, Limits> where
    Listener: Comparable,
    Limits: PartialEq
[src]

impl<Listener, Limits> Fragment for WithListenLimits<Listener, Limits> where
    Listener: Clone + Debug + Fragment + Comparable,
    Limits: Clone + Debug + ListenLimits + PartialEq
[src]

type Driver = CacheSimilar<Self>

The default driver to be used by the fragment. Read more

type Installer = ()

The default installer to be used unless a transformation or the user doesn't provide one. Read more

type Seed = Listener::Seed

The intermediate product if the fragment supports two-stage creation of [Resource][Fragment::Resource]s. If not, it can be set to (). Read more

type Resource = LimitedListener<Listener::Resource>

The actual product this [Fragment] creates.

impl<Listener, Limits> Stackable for WithListenLimits<Listener, Limits> where
    Listener: Stackable
[src]

impl<Listener, Limits> StructDoc for WithListenLimits<Listener, Limits> where
    Listener: StructDoc,
    Limits: StructDoc
[src]

Auto Trait Implementations

impl<Listener, Limits> Send for WithListenLimits<Listener, Limits> where
    Limits: Send,
    Listener: Send

impl<Listener, Limits> Sync for WithListenLimits<Listener, Limits> where
    Limits: Sync,
    Listener: Sync

impl<Listener, Limits> Unpin for WithListenLimits<Listener, Limits> where
    Limits: Unpin,
    Listener: Unpin

impl<Listener, Limits> UnwindSafe for WithListenLimits<Listener, Limits> where
    Limits: UnwindSafe,
    Listener: UnwindSafe

impl<Listener, Limits> RefUnwindSafe for WithListenLimits<Listener, Limits> where
    Limits: RefUnwindSafe,
    Listener: RefUnwindSafe

Blanket Implementations

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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.

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

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

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

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]

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

impl<F> Optional for F where
    F: Stackable
[src]