use crate::{generic::write::impl_encoder, tokio::write::BufWriter};
use std::{
io,
pin::Pin,
task::{Context, Poll},
};
use tokio::io::{AsyncBufRead, AsyncRead, AsyncWrite, ReadBuf};
impl_encoder!(poll_shutdown);
impl<W: AsyncRead, E> AsyncRead for Encoder<W, E> {
fn poll_read(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &mut ReadBuf<'_>,
) -> Poll<io::Result<()>> {
self.get_pin_mut().poll_read(cx, buf)
}
}