pub trait TransportFactory: Send + Sync + InternalTransportFactoryClone {
    fn create_transport(&self, options: &ClientOptions) -> Box<dyn Transport>;
}
Expand description

A factory creating transport instances.

Because options are potentially reused between different clients the options do not actually contain a transport but a factory object that can create transports instead.

The factory has a single method that creates a new boxed transport. Because transports can be wrapped in Arcs and those are clonable any Arc<Transport> is also a valid transport factory. This for instance lets you put a Arc<TestTransport> directly into the options.

This is automatically implemented for all closures optionally taking options and returning a boxed factory.

Required Methods§

Given some options creates a transport.

Implementations on Foreign Types§

Implementors§