Struct spirit_tokio::net::TcpListen [−][src]
A configuration fragment of a TCP listening socket.
The Fragment
creates a TcpListener
(wrapped in ConfiguredListener
). It can be
handled directly, or through Pipeline
s.
Note that this stream sometimes returns errors „in the middle“, but most stream consumers
terminate on the first error. You might be interested in the WithListenLimits
wrapper to
handle that automatically (or, see the TcpListenWithLimits
for a convenient type alias).
Type parametes
ExtraCfg
: Additional application specific configuration that can be extracted and used by the application code. This doesn’t influence the socket created in any way.TcpStreamConfigure
: Further configuration for the accepted TCP streams in the form ofStreamConfig
Fields
The configuration fields are pooled from all three type parameters above and from the
Listen
configuration fragment.
Fields (Non-exhaustive)
Struct {{ .. }}
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.listen: Listen
The actual listener socket address.
tcp_config: TcpStreamConfigure
Configuration to be applied to the accepted connections.
extra_cfg: ExtraCfg
Arbitrary application specific configuration that doesn’t influence the sockets created.
Trait Implementations
impl<ExtraCfg: Clone, TcpStreamConfigure: Clone> Clone for TcpListen<ExtraCfg, TcpStreamConfigure>
[src]
fn clone(&self) -> TcpListen<ExtraCfg, TcpStreamConfigure>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<ExtraCfg: PartialEq, TcpConfig: PartialEq> Comparable<TcpListen<ExtraCfg, TcpConfig>> for TcpListen<ExtraCfg, TcpConfig>
[src]
fn compare(&self, other: &Self) -> Comparison
[src]
impl<ExtraCfg: Debug, TcpStreamConfigure: Debug> Debug for TcpListen<ExtraCfg, TcpStreamConfigure>
[src]
impl<ExtraCfg: Default, TcpStreamConfigure: Default> Default for TcpListen<ExtraCfg, TcpStreamConfigure>
[src]
impl<'de, ExtraCfg, TcpStreamConfigure> Deserialize<'de> for TcpListen<ExtraCfg, TcpStreamConfigure> where
ExtraCfg: Deserialize<'de>,
TcpStreamConfigure: Deserialize<'de>,
[src]
ExtraCfg: Deserialize<'de>,
TcpStreamConfigure: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<ExtraCfg: Eq, TcpStreamConfigure: Eq> Eq for TcpListen<ExtraCfg, TcpStreamConfigure>
[src]
impl<ExtraCfg, TcpConfig> Fragment for TcpListen<ExtraCfg, TcpConfig> where
ExtraCfg: Clone + Debug + PartialEq,
TcpConfig: Clone + Debug + PartialEq,
[src]
ExtraCfg: Clone + Debug + PartialEq,
TcpConfig: Clone + Debug + PartialEq,
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 = StdTcpListener
The intermediate product if the fragment supports two-stage creation of
Resource
s. If not, it can be set to ()
. Read more
type Resource = ConfiguredListener<TcpListener, TcpConfig>
The actual product this Fragment
creates.
fn make_seed(&self, name: &str) -> Result<StdTcpListener, AnyError>
[src]
fn make_resource(
&self,
seed: &mut Self::Seed,
name: &str
) -> Result<Self::Resource, AnyError>
[src]
&self,
seed: &mut Self::Seed,
name: &str
) -> Result<Self::Resource, AnyError>
pub const RUN_BEFORE_CONFIG: bool
[src]
pub fn create(
&self,
name: &'static str
) -> Result<Self::Resource, Box<dyn Error + 'static + Sync + Send, Global>>
[src]
&self,
name: &'static str
) -> Result<Self::Resource, Box<dyn Error + 'static + Sync + Send, Global>>
pub fn init<B>(
builder: B,
&'static str
) -> Result<B, Box<dyn Error + 'static + Sync + Send, Global>> where
B: Extensible<Ok = B>,
<B as Extensible>::Config: DeserializeOwned,
<B as Extensible>::Config: Send,
<B as Extensible>::Config: Sync,
<B as Extensible>::Config: 'static,
<B as Extensible>::Opts: StructOpt,
<B as Extensible>::Opts: Send,
<B as Extensible>::Opts: Sync,
<B as Extensible>::Opts: 'static,
[src]
builder: B,
&'static str
) -> Result<B, Box<dyn Error + 'static + Sync + Send, Global>> where
B: Extensible<Ok = B>,
<B as Extensible>::Config: DeserializeOwned,
<B as Extensible>::Config: Send,
<B as Extensible>::Config: Sync,
<B as Extensible>::Config: 'static,
<B as Extensible>::Opts: StructOpt,
<B as Extensible>::Opts: Send,
<B as Extensible>::Opts: Sync,
<B as Extensible>::Opts: 'static,
impl<ExtraCfg: Hash, TcpStreamConfigure: Hash> Hash for TcpListen<ExtraCfg, TcpStreamConfigure>
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<ExtraCfg: Ord, TcpStreamConfigure: Ord> Ord for TcpListen<ExtraCfg, TcpStreamConfigure>
[src]
fn cmp(&self, other: &TcpListen<ExtraCfg, TcpStreamConfigure>) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl<ExtraCfg: PartialEq, TcpStreamConfigure: PartialEq> PartialEq<TcpListen<ExtraCfg, TcpStreamConfigure>> for TcpListen<ExtraCfg, TcpStreamConfigure>
[src]
fn eq(&self, other: &TcpListen<ExtraCfg, TcpStreamConfigure>) -> bool
[src]
fn ne(&self, other: &TcpListen<ExtraCfg, TcpStreamConfigure>) -> bool
[src]
impl<ExtraCfg: PartialOrd, TcpStreamConfigure: PartialOrd> PartialOrd<TcpListen<ExtraCfg, TcpStreamConfigure>> for TcpListen<ExtraCfg, TcpStreamConfigure>
[src]
fn partial_cmp(
&self,
other: &TcpListen<ExtraCfg, TcpStreamConfigure>
) -> Option<Ordering>
[src]
&self,
other: &TcpListen<ExtraCfg, TcpStreamConfigure>
) -> Option<Ordering>
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<ExtraCfg, TcpStreamConfigure> Serialize for TcpListen<ExtraCfg, TcpStreamConfigure> where
ExtraCfg: Serialize,
TcpStreamConfigure: Serialize,
[src]
ExtraCfg: Serialize,
TcpStreamConfigure: Serialize,
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<ExtraCfg, TcpConfig> Stackable for TcpListen<ExtraCfg, TcpConfig>
[src]
impl<ExtraCfg, TcpStreamConfigure> StructDoc for TcpListen<ExtraCfg, TcpStreamConfigure> where
ExtraCfg: StructDoc,
TcpStreamConfigure: StructDoc,
[src]
ExtraCfg: StructDoc,
TcpStreamConfigure: StructDoc,
fn document() -> Documentation
[src]
impl<ExtraCfg, TcpStreamConfigure> StructuralEq for TcpListen<ExtraCfg, TcpStreamConfigure>
[src]
impl<ExtraCfg, TcpStreamConfigure> StructuralPartialEq for TcpListen<ExtraCfg, TcpStreamConfigure>
[src]
Auto Trait Implementations
impl<ExtraCfg, TcpStreamConfigure> RefUnwindSafe for TcpListen<ExtraCfg, TcpStreamConfigure> where
ExtraCfg: RefUnwindSafe,
TcpStreamConfigure: RefUnwindSafe,
ExtraCfg: RefUnwindSafe,
TcpStreamConfigure: RefUnwindSafe,
impl<ExtraCfg, TcpStreamConfigure> Send for TcpListen<ExtraCfg, TcpStreamConfigure> where
ExtraCfg: Send,
TcpStreamConfigure: Send,
ExtraCfg: Send,
TcpStreamConfigure: Send,
impl<ExtraCfg, TcpStreamConfigure> Sync for TcpListen<ExtraCfg, TcpStreamConfigure> where
ExtraCfg: Sync,
TcpStreamConfigure: Sync,
ExtraCfg: Sync,
TcpStreamConfigure: Sync,
impl<ExtraCfg, TcpStreamConfigure> Unpin for TcpListen<ExtraCfg, TcpStreamConfigure> where
ExtraCfg: Unpin,
TcpStreamConfigure: Unpin,
ExtraCfg: Unpin,
TcpStreamConfigure: Unpin,
impl<ExtraCfg, TcpStreamConfigure> UnwindSafe for TcpListen<ExtraCfg, TcpStreamConfigure> where
ExtraCfg: UnwindSafe,
TcpStreamConfigure: UnwindSafe,
ExtraCfg: UnwindSafe,
TcpStreamConfigure: UnwindSafe,
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoResult<T> for T
[src]
impl<F> Optional for F where
F: Stackable,
[src]
F: Stackable,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
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.
pub 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>,