Struct actix_http::h2::H2Service
source · pub struct H2Service<T, S, B> { /* private fields */ }
Expand description
ServiceFactory
implementation for HTTP/2 transport
Implementations§
source§impl<S, B> H2Service<TcpStream, S, B>where
S: ServiceFactory<Request, Config = ()>,
S::Future: 'static,
S::Error: Into<Response<BoxBody>> + 'static,
S::Response: Into<Response<B>> + 'static,
<S::Service as Service<Request>>::Future: 'static,
B: MessageBody + 'static,
impl<S, B> H2Service<TcpStream, S, B>where S: ServiceFactory<Request, Config = ()>, S::Future: 'static, S::Error: Into<Response<BoxBody>> + 'static, S::Response: Into<Response<B>> + 'static, <S::Service as Service<Request>>::Future: 'static, B: MessageBody + 'static,
sourcepub fn tcp(
self
) -> impl ServiceFactory<TcpStream, Config = (), Response = (), Error = DispatchError, InitError = S::InitError>
pub fn tcp( self ) -> impl ServiceFactory<TcpStream, Config = (), Response = (), Error = DispatchError, InitError = S::InitError>
Create plain TCP based service
Trait Implementations§
source§impl<T, S, B> ServiceFactory<(T, Option<SocketAddr>)> for H2Service<T, S, B>where
T: AsyncRead + AsyncWrite + Unpin + 'static,
S: ServiceFactory<Request, Config = ()>,
S::Future: 'static,
S::Error: Into<Response<BoxBody>> + 'static,
S::Response: Into<Response<B>> + 'static,
<S::Service as Service<Request>>::Future: 'static,
B: MessageBody + 'static,
impl<T, S, B> ServiceFactory<(T, Option<SocketAddr>)> for H2Service<T, S, B>where T: AsyncRead + AsyncWrite + Unpin + 'static, S: ServiceFactory<Request, Config = ()>, S::Future: 'static, S::Error: Into<Response<BoxBody>> + 'static, S::Response: Into<Response<B>> + 'static, <S::Service as Service<Request>>::Future: 'static, B: MessageBody + 'static,
§type Error = DispatchError
type Error = DispatchError
Errors produced by the created services.
§type Service = H2ServiceHandler<T, <S as ServiceFactory<Request<Pin<Box<dyn Stream<Item = Result<Bytes, PayloadError>>, Global>>>>>::Service, B>
type Service = H2ServiceHandler<T, <S as ServiceFactory<Request<Pin<Box<dyn Stream<Item = Result<Bytes, PayloadError>>, Global>>>>>::Service, B>
The kind of
Service
created by this factory.§type InitError = <S as ServiceFactory<Request<Pin<Box<dyn Stream<Item = Result<Bytes, PayloadError>>, Global>>>>>::InitError
type InitError = <S as ServiceFactory<Request<Pin<Box<dyn Stream<Item = Result<Bytes, PayloadError>>, Global>>>>>::InitError
Errors potentially raised while building a service.
§type Future = Pin<Box<dyn Future<Output = Result<<H2Service<T, S, B> as ServiceFactory<(T, Option<SocketAddr>)>>::Service, <H2Service<T, S, B> as ServiceFactory<(T, Option<SocketAddr>)>>::InitError>>, Global>>
type Future = Pin<Box<dyn Future<Output = Result<<H2Service<T, S, B> as ServiceFactory<(T, Option<SocketAddr>)>>::Service, <H2Service<T, S, B> as ServiceFactory<(T, Option<SocketAddr>)>>::InitError>>, Global>>
The future of the
Service
instance.gsource§fn new_service(&self, _: ()) -> Self::Future
fn new_service(&self, _: ()) -> Self::Future
Create and return a new service asynchronously.
Auto Trait Implementations§
impl<T, S, B> !RefUnwindSafe for H2Service<T, S, B>
impl<T, S, B> !Send for H2Service<T, S, B>
impl<T, S, B> !Sync for H2Service<T, S, B>
impl<T, S, B> Unpin for H2Service<T, S, B>where B: Unpin, S: Unpin, T: Unpin,
impl<T, S, B> !UnwindSafe for H2Service<T, S, B>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<SF, Req> IntoServiceFactory<SF, Req> for SFwhere
SF: ServiceFactory<Req>,
impl<SF, Req> IntoServiceFactory<SF, Req> for SFwhere SF: ServiceFactory<Req>,
source§fn into_factory(self) -> SF
fn into_factory(self) -> SF
Convert
Self
to a ServiceFactory
source§impl<SF, Req> ServiceFactoryExt<Req> for SFwhere
SF: ServiceFactory<Req>,
impl<SF, Req> ServiceFactoryExt<Req> for SFwhere SF: ServiceFactory<Req>,
source§fn map<F, R>(self, f: F) -> MapServiceFactory<Self, F, Req, R>where
Self: Sized,
F: FnMut(Self::Response) -> R + Clone,
fn map<F, R>(self, f: F) -> MapServiceFactory<Self, F, Req, R>where Self: Sized, F: FnMut(Self::Response) -> R + Clone,
Map this service’s output to a different type, returning a new service
of the resulting type.
source§fn map_err<F, E>(self, f: F) -> MapErrServiceFactory<Self, Req, F, E>where
Self: Sized,
F: Fn(Self::Error) -> E + Clone,
fn map_err<F, E>(self, f: F) -> MapErrServiceFactory<Self, Req, F, E>where Self: Sized, F: Fn(Self::Error) -> E + Clone,
Map this service’s error to a different error, returning a new service.
source§fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, F, Req, E>where
Self: Sized,
F: Fn(Self::InitError) -> E + Clone,
fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, F, Req, E>where Self: Sized, F: Fn(Self::InitError) -> E + Clone,
Map this factory’s init error to a different error, returning a new service.
source§fn and_then<I, SF1>(self, factory: I) -> AndThenServiceFactory<Self, SF1, Req>where
Self: Sized,
Self::Config: Clone,
I: IntoServiceFactory<SF1, Self::Response>,
SF1: ServiceFactory<Self::Response, Config = Self::Config, Error = Self::Error, InitError = Self::InitError>,
fn and_then<I, SF1>(self, factory: I) -> AndThenServiceFactory<Self, SF1, Req>where Self: Sized, Self::Config: Clone, I: IntoServiceFactory<SF1, Self::Response>, SF1: ServiceFactory<Self::Response, Config = Self::Config, Error = Self::Error, InitError = Self::InitError>,
Call another service after call to this one has resolved successfully.