mirror of https://github.com/fafhrd91/actix-net
add forward_ready macro
This commit is contained in:
parent
55bbd27488
commit
00c4a3ac08
|
@ -94,9 +94,7 @@ where
|
|||
type Error = Err;
|
||||
type Future = Fut;
|
||||
|
||||
fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
|
||||
Poll::Ready(ready!(self.service.poll_ready(cx)))
|
||||
}
|
||||
crate::forward_ready!(service);
|
||||
|
||||
fn call(&mut self, req: Req) -> Self::Future {
|
||||
(self.wrap_fn)(req, &mut self.service)
|
||||
|
|
|
@ -371,3 +371,15 @@ macro_rules! always_ready {
|
|||
}
|
||||
};
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! forward_ready {
|
||||
($field:ident) => {
|
||||
fn poll_ready(
|
||||
&mut self,
|
||||
cx: &mut ::std::task::Context<'_>,
|
||||
) -> ::std::task::Poll<Result<(), Self::Error>> {
|
||||
self.$field.poll_ready(cx)
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -52,9 +52,7 @@ where
|
|||
type Error = A::Error;
|
||||
type Future = MapFuture<A, F, Req, Res>;
|
||||
|
||||
fn poll_ready(&mut self, ctx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
|
||||
self.service.poll_ready(ctx)
|
||||
}
|
||||
crate::forward_ready!(service);
|
||||
|
||||
fn call(&mut self, req: Req) -> Self::Future {
|
||||
MapFuture::new(self.service.call(req), self.f.clone())
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#![doc(html_favicon_url = "https://actix.rs/favicon.ico")]
|
||||
|
||||
use std::marker::PhantomData;
|
||||
use std::task::{Context, Poll};
|
||||
|
||||
use actix_service::{
|
||||
apply, dev::ApplyTransform, IntoServiceFactory, Service, ServiceFactory, Transform,
|
||||
|
@ -36,9 +35,7 @@ where
|
|||
type Error = S::Error;
|
||||
type Future = Either<S::Future, Instrumented<S::Future>>;
|
||||
|
||||
fn poll_ready(&mut self, ctx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
|
||||
self.inner.poll_ready(ctx)
|
||||
}
|
||||
actix_service::forward_ready!(inner);
|
||||
|
||||
fn call(&mut self, req: Req) -> Self::Future {
|
||||
let span = (self.make_span)(&req);
|
||||
|
|
Loading…
Reference in New Issue