Trait UnixStreamConnectorFactory

pub trait UnixStreamConnectorFactory<State>:
    Send
    + Sync
    + 'static {
    type Connector: UnixStreamConnector;
    type Error;

    // Required method
    fn make_connector(
        &self,
        ctx: Context<State>,
    ) -> impl Future<Output = Result<CreatedUnixStreamConnector<State, Self::Connector>, Self::Error>> + Send;
}
Expand description

Factory to create a UnixStreamConnector. This is used by the Unix stream service to create a stream within a specific Context.

In the most simplest case you use a UnixStreamConnectorCloneFactory to use a Cloneable UnixStreamConnectorCloneFactory, but in more advanced cases you can use variants of UnixStreamConnector specific to the given contexts.

Required Associated Types§

type Connector: UnixStreamConnector

UnixStreamConnector created by this UnixStreamConnectorFactory

type Error

Error returned in case UnixStreamConnectorFactory was not able to create a UnixStreamConnector.

Required Methods§

fn make_connector( &self, ctx: Context<State>, ) -> impl Future<Output = Result<CreatedUnixStreamConnector<State, Self::Connector>, Self::Error>> + Send

Try to create a UnixStreamConnector, and return an error or otherwise.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl<State> UnixStreamConnectorFactory<State> for ()
where State: Send + Sync + 'static,

§

impl<State, F> UnixStreamConnectorFactory<State> for Arc<F>
where F: UnixStreamConnectorFactory<State>, State: Send + Sync + 'static,

Implementors§

§

impl<State, A, B> UnixStreamConnectorFactory<State> for Either<A, B>

§

impl<State, A, B, C> UnixStreamConnectorFactory<State> for Either3<A, B, C>

§

impl<State, A, B, C, D> UnixStreamConnectorFactory<State> for Either4<A, B, C, D>

§

impl<State, A, B, C, D, E> UnixStreamConnectorFactory<State> for Either5<A, B, C, D, E>
where State: Send + Sync + 'static, A: UnixStreamConnectorFactory<State>, <A as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<A as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <A as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, B: UnixStreamConnectorFactory<State>, <B as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<B as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <B as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, C: UnixStreamConnectorFactory<State>, <C as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<C as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <C as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, D: UnixStreamConnectorFactory<State>, <D as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<D as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <D as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, E: UnixStreamConnectorFactory<State>, <E as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<E as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <E as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>,

§

impl<State, A, B, C, D, E, F> UnixStreamConnectorFactory<State> for Either6<A, B, C, D, E, F>
where State: Send + Sync + 'static, A: UnixStreamConnectorFactory<State>, <A as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<A as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <A as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, B: UnixStreamConnectorFactory<State>, <B as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<B as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <B as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, C: UnixStreamConnectorFactory<State>, <C as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<C as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <C as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, D: UnixStreamConnectorFactory<State>, <D as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<D as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <D as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, E: UnixStreamConnectorFactory<State>, <E as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<E as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <E as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, F: UnixStreamConnectorFactory<State>, <F as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<F as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <F as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>,

§

impl<State, A, B, C, D, E, F, G> UnixStreamConnectorFactory<State> for Either7<A, B, C, D, E, F, G>
where State: Send + Sync + 'static, A: UnixStreamConnectorFactory<State>, <A as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<A as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <A as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, B: UnixStreamConnectorFactory<State>, <B as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<B as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <B as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, C: UnixStreamConnectorFactory<State>, <C as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<C as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <C as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, D: UnixStreamConnectorFactory<State>, <D as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<D as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <D as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, E: UnixStreamConnectorFactory<State>, <E as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<E as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <E as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, F: UnixStreamConnectorFactory<State>, <F as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<F as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <F as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, G: UnixStreamConnectorFactory<State>, <G as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<G as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <G as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>,

§

impl<State, A, B, C, D, E, F, G, H> UnixStreamConnectorFactory<State> for Either8<A, B, C, D, E, F, G, H>
where State: Send + Sync + 'static, A: UnixStreamConnectorFactory<State>, <A as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<A as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <A as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, B: UnixStreamConnectorFactory<State>, <B as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<B as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <B as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, C: UnixStreamConnectorFactory<State>, <C as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<C as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <C as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, D: UnixStreamConnectorFactory<State>, <D as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<D as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <D as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, E: UnixStreamConnectorFactory<State>, <E as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<E as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <E as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, F: UnixStreamConnectorFactory<State>, <F as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<F as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <F as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, G: UnixStreamConnectorFactory<State>, <G as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<G as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <G as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, H: UnixStreamConnectorFactory<State>, <H as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<H as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <H as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>,

§

impl<State, A, B, C, D, E, F, G, H, I> UnixStreamConnectorFactory<State> for Either9<A, B, C, D, E, F, G, H, I>
where State: Send + Sync + 'static, A: UnixStreamConnectorFactory<State>, <A as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<A as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <A as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, B: UnixStreamConnectorFactory<State>, <B as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<B as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <B as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, C: UnixStreamConnectorFactory<State>, <C as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<C as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <C as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, D: UnixStreamConnectorFactory<State>, <D as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<D as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <D as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, E: UnixStreamConnectorFactory<State>, <E as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<E as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <E as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, F: UnixStreamConnectorFactory<State>, <F as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<F as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <F as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, G: UnixStreamConnectorFactory<State>, <G as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<G as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <G as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, H: UnixStreamConnectorFactory<State>, <H as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<H as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <H as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>, I: UnixStreamConnectorFactory<State>, <I as UnixStreamConnectorFactory<State>>::Connector: UnixStreamConnector, <<I as UnixStreamConnectorFactory<State>>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Send + Sync>>, <I as UnixStreamConnectorFactory<State>>::Error: Into<Box<dyn Error + Send + Sync>>,

§

impl<State, C> UnixStreamConnectorFactory<State> for UnixStreamConnectorCloneFactory<C>
where C: UnixStreamConnector + Clone, State: Send + Sync + 'static,