Skip to content

Commit a5b0acb

Browse files
committedSep 13, 2019
AsyncBufRead for Cursor
Signed-off-by: Yoshua Wuyts <[email protected]>
1 parent 0bc39e6 commit a5b0acb

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed
 

‎src/io/cursor.rs

+12-15
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use futures_io::{AsyncRead, AsyncSeek, AsyncWrite};
1+
use futures_io::{AsyncBufRead, AsyncRead, AsyncSeek, AsyncWrite};
22

33
use std::io::{self, IoSlice, IoSliceMut, SeekFrom};
44
use std::pin::Pin;
@@ -182,21 +182,18 @@ where
182182
}
183183
}
184184

185-
// impl<T> AsyncBufRead for Cursor<T>
186-
// where
187-
// T: AsRef<[u8]> + Unpin,
188-
// {
189-
// fn poll_fill_buf(mut self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<io::Result<&[u8]>> {
190-
// // let amt = cmp::min(self.position(), self.as_ref().len() as u64);
191-
// // Poll::Ready(Ok(&self.inner.as_ref()[(amt as usize)..]))
192-
// let res = io::BufRead::fill_buf(&mut self.inner);
193-
// Poll::Ready(res)
194-
// }
185+
impl<T> AsyncBufRead for Cursor<T>
186+
where
187+
T: AsRef<[u8]> + Unpin,
188+
{
189+
fn poll_fill_buf(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<io::Result<&[u8]>> {
190+
Poll::Ready(io::BufRead::fill_buf(&mut self.get_mut().inner))
191+
}
195192

196-
// fn consume(mut self: Pin<&mut Self>, amt: usize) {
197-
// io::BufRead::consume(&mut self.inner, amt)
198-
// }
199-
// }
193+
fn consume(mut self: Pin<&mut Self>, amt: usize) {
194+
io::BufRead::consume(&mut self.inner, amt)
195+
}
196+
}
200197

201198
impl AsyncWrite for Cursor<&mut [u8]> {
202199
fn poll_write(

0 commit comments

Comments
 (0)
Please sign in to comment.