fix(rustproxy-http): implement vectored write support for backend streams

This commit is contained in:
2026-03-16 13:54:56 +00:00
parent 61db285e04
commit 72935e7ee0
3 changed files with 25 additions and 1 deletions

View File

@@ -109,6 +109,24 @@ impl tokio::io::AsyncWrite for BackendStream {
}
}
fn poll_write_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &[std::io::IoSlice<'_>],
) -> Poll<std::io::Result<usize>> {
match self.get_mut() {
BackendStream::Plain(s) => Pin::new(s).poll_write_vectored(cx, bufs),
BackendStream::Tls(s) => Pin::new(s).poll_write_vectored(cx, bufs),
}
}
fn is_write_vectored(&self) -> bool {
match self {
BackendStream::Plain(s) => s.is_write_vectored(),
BackendStream::Tls(s) => s.is_write_vectored(),
}
}
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<std::io::Result<()>> {
match self.get_mut() {
BackendStream::Plain(s) => Pin::new(s).poll_flush(cx),