Trait UnixStreamConnectorFactory

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

    // Required method
    fn make_connector(
        &self,
        ctx: Context,
    ) -> impl Future<Output = Result<CreatedUnixStreamConnector<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, ) -> impl Future<Output = Result<CreatedUnixStreamConnector<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 UnixStreamConnectorFactory for ()

§

impl<F> UnixStreamConnectorFactory for Arc<F>

Implementors§

§

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

§

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

§

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

§

impl<A, B, C, D, E> UnixStreamConnectorFactory for Either5<A, B, C, D, E>

§

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

§

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

§

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

§

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

§

impl<C> UnixStreamConnectorFactory for UnixStreamConnectorCloneFactory<C>