aboutsummaryrefslogtreecommitdiff
path: root/src/stream.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/stream.rs')
-rw-r--r--src/stream.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/stream.rs b/src/stream.rs
index beb6b9c..5ba2ed4 100644
--- a/src/stream.rs
+++ b/src/stream.rs
@@ -93,7 +93,7 @@ impl ByteStreamReader {
}
pub fn eos(&self) -> bool {
- self.buf.is_empty() && self.eos
+ self.buf_len == 0 && self.eos
}
fn try_get(&mut self, read_len: usize) -> Option<Bytes> {
@@ -164,8 +164,10 @@ impl<'a> Future for ByteStreamReadExact<'a> {
match futures::ready!(this.reader.stream.as_mut().poll_next(cx)) {
Some(Ok(slice)) => {
- this.reader.buf_len += slice.len();
- this.reader.buf.push_back(slice);
+ if !slice.is_empty() {
+ this.reader.buf_len += slice.len();
+ this.reader.buf.push_back(slice);
+ }
}
Some(Err(e)) => {
this.reader.err = Some(e);