Skip to content

Commit

Permalink
runtime: add a method into_segments to AggregatedBytes (#2525)
Browse files Browse the repository at this point in the history
* start, add a method to AggregatedBytes called into_segments

* update CHANGELOG.next.toml
  • Loading branch information
do-not-use-parker-timmerman authored and rcoh committed Apr 24, 2023
1 parent fcd83ee commit 2c9e887
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.next.toml
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,9 @@ message = "Add support for omitting session token in canonical requests for SigV
references = ["smithy-rs#2473"]
meta = { "breaking" = false, "tada" = false, "bug" = false }
author = "martinjlowm"

[[aws-sdk-rust]]
message = "Add `into_segments` method to `AggregatedBytes`, for zero-copy conversions."
references = ["smithy-rs#2525"]
meta = { "breaking" = false, "tada" = false, "bug" = false }
author = "parker-timmerman"
5 changes: 5 additions & 0 deletions rust-runtime/aws-smithy-http/src/byte_stream.rs
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,11 @@ impl AggregatedBytes {
self.0.copy_to_bytes(self.0.remaining())
}

/// Convert this buffer into an [`Iterator`] of underlying non-contiguous segments of [`Bytes`]
pub fn into_segments(self) -> impl Iterator<Item = Bytes> {
self.0.into_inner().into_iter()
}

/// Convert this buffer into a `Vec<u8>`
pub fn to_vec(self) -> Vec<u8> {
self.0
Expand Down

0 comments on commit 2c9e887

Please sign in to comment.