Skip to content

Commit 122525b

Browse files
jefftttaiki-e
authored andcommitted
stream: Fix Chunk adapters size hints (#2611)
1 parent 7786e7d commit 122525b

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

futures-util/src/stream/stream/chunks.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ impl<St: Stream> Stream for Chunks<St> {
7979
fn size_hint(&self) -> (usize, Option<usize>) {
8080
let chunk_len = if self.items.is_empty() { 0 } else { 1 };
8181
let (lower, upper) = self.stream.size_hint();
82-
let lower = lower.saturating_add(chunk_len);
82+
let lower = (lower / self.cap).saturating_add(chunk_len);
8383
let upper = match upper {
8484
Some(x) => x.checked_add(chunk_len),
8585
None => None,

futures-util/src/stream/stream/ready_chunks.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ impl<St: Stream> Stream for ReadyChunks<St> {
8787
fn size_hint(&self) -> (usize, Option<usize>) {
8888
let chunk_len = if self.items.is_empty() { 0 } else { 1 };
8989
let (lower, upper) = self.stream.size_hint();
90-
let lower = lower.saturating_add(chunk_len);
90+
let lower = (lower / self.cap).saturating_add(chunk_len);
9191
let upper = match upper {
9292
Some(x) => x.checked_add(chunk_len),
9393
None => None,

futures-util/src/stream/try_stream/try_chunks.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ impl<St: TryStream> Stream for TryChunks<St> {
8383
fn size_hint(&self) -> (usize, Option<usize>) {
8484
let chunk_len = if self.items.is_empty() { 0 } else { 1 };
8585
let (lower, upper) = self.stream.size_hint();
86-
let lower = lower.saturating_add(chunk_len);
86+
let lower = (lower / self.cap).saturating_add(chunk_len);
8787
let upper = match upper {
8888
Some(x) => x.checked_add(chunk_len),
8989
None => None,

0 commit comments

Comments
 (0)