Trait tokio_proto::BindClient
[−]
[src]
pub trait BindClient<Kind, T: 'static>: 'static { type ServiceRequest; type ServiceResponse; type ServiceError; type BindClient: Service<Request=Self::ServiceRequest, Response=Self::ServiceResponse, Error=Self::ServiceError>; fn bind_client(&self, handle: &Handle, io: T) -> Self::BindClient; }
Binds an I/O object as a client of a service.
This trait is not intended to be implemented directly; instead, implement one of the server protocol traits:
pipeline::Client
multiplex::Client
streaming::pipeline::Client
streaming::multiplex::Client
See the crate documentation for more details on those traits.
The Kind
parameter, in particular, is a zero-sized type used to allow
blanket implementation from the various protocol traits. Any additional
implementations of this trait should use their own zero-sized kind type to
distinguish them.
Associated Types
type ServiceRequest
[−]
The request type for the service.
type ServiceResponse
[−]
The response type for the service.
type ServiceError
[−]
The error type for the service.
type BindClient: Service<Request=Self::ServiceRequest, Response=Self::ServiceResponse, Error=Self::ServiceError>
[−]
The bound service.
Required Methods
fn bind_client(&self, handle: &Handle, io: T) -> Self::BindClient
[−]
Bind an I/O object as a service.
Implementors
impl<T: 'static, P: ClientProto<T>> BindClient<Pipeline, T> for P
impl<T: 'static, P: ClientProto<T>> BindClient<Multiplex, T> for P
impl<P, T, B> BindClient<StreamingPipeline<B>, T> for P where P: ClientProto<T>, T: 'static, B: Stream<Item=P::RequestBody, Error=P::Error> + 'static
impl<P, T, B> BindClient<StreamingMultiplex<B>, T> for P where P: ClientProto<T>, T: 'static, B: Stream<Item=P::RequestBody, Error=P::Error> + 'static