1#[macro_export]
3macro_rules! forward_ready {
4 ($field:ident) => {
5 #[inline]
6 fn poll_read_ready(
7 &self,
8 cx: &mut std::task::Context<'_>,
9 ) -> Poll<$crate::Readiness> {
10 self.$field.poll_read_ready(cx)
11 }
12
13 #[inline]
14 fn poll_write_ready(
15 &self,
16 cx: &mut std::task::Context<'_>,
17 ) -> Poll<$crate::Readiness> {
18 self.$field.poll_write_ready(cx)
19 }
20 };
21}
22
23#[macro_export]
24macro_rules! forward_query {
25 ($field:ident) => {
26 #[inline]
27 fn query(&self, id: std::any::TypeId) -> Option<Box<dyn std::any::Any>> {
28 self.$field.query(id)
29 }
30 };
31}
32
33#[macro_export]
34macro_rules! forward_shutdown {
35 ($field:ident) => {
36 #[inline]
37 fn shutdown(
38 &self,
39 ctx: $crate::FilterCtx<'_>,
40 ) -> std::io::Result<std::task::Poll<()>> {
41 self.$field.shutdown(ctx)
42 }
43 };
44}