summaryrefslogtreecommitdiffstats
path: root/tokio-util/src/codec/framed_impl.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tokio-util/src/codec/framed_impl.rs')
-rw-r--r--tokio-util/src/codec/framed_impl.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/tokio-util/src/codec/framed_impl.rs b/tokio-util/src/codec/framed_impl.rs
index e8b29999..207e198d 100644
--- a/tokio-util/src/codec/framed_impl.rs
+++ b/tokio-util/src/codec/framed_impl.rs
@@ -6,7 +6,7 @@ use tokio::{
stream::Stream,
};
-use bytes::{Buf, BytesMut};
+use bytes::BytesMut;
use futures_core::ready;
use futures_sink::Sink;
use log::trace;
@@ -189,6 +189,7 @@ where
}
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
+ use crate::util::poll_write_buf;
trace!("flushing framed transport");
let mut pinned = self.project();
@@ -196,8 +197,7 @@ where
let WriteFrame { buffer } = pinned.state.borrow_mut();
trace!("writing; remaining={}", buffer.len());
- let buf = &buffer;
- let n = ready!(pinned.inner.as_mut().poll_write(cx, &buf))?;
+ let n = ready!(poll_write_buf(pinned.inner.as_mut(), cx, buffer))?;
if n == 0 {
return Poll::Ready(Err(io::Error::new(
@@ -207,8 +207,6 @@ where
)
.into()));
}
-
- pinned.state.borrow_mut().buffer.advance(n);
}
// Try flushing the underlying IO