feat(storage): expose send_and_append on OpenAppendableObject - #6490
feat(storage): expose send_and_append on OpenAppendableObject#6490vsharonlynn wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces the ability to send an initial chunk of data when opening a bidirectional write stream for appendable objects. It adds a new send_and_append method to the OpenAppendableObject builder, updates the internal state machine (AppendObjectSpecState) and connector to handle and preserve the initial chunk (including CRC32C checksum calculation), and updates the transport layer to correctly initialize the write offset and running checksum. There are no review comments, and the implementation looks solid and well-tested.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #6490 +/- ##
==========================================
- Coverage 96.41% 96.41% -0.01%
==========================================
Files 303 303
Lines 85422 85568 +146
==========================================
+ Hits 82362 82498 +136
- Misses 3060 3070 +10 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
f2a14a0 to
352e2ca
Compare
352e2ca to
3ac8ae4
Compare
| } | ||
|
|
||
| #[cfg(google_cloud_unstable_storage_bidi)] | ||
| /// Implements [crate::client::Storage::open_appendable_object] with an initial chunk. |
There was a problem hiding this comment.
Nit: maybe something like "Implements XYZ. Also sends an appendable chunk with the initial request".
Right now it reads funny.
|
|
||
| #[cfg(google_cloud_unstable_storage_bidi)] | ||
| #[tokio::test] | ||
| async fn open_appendable_object_and_append_not_found() -> anyhow::Result<()> { |
There was a problem hiding this comment.
what is the thing that is "not_found"? can the test name include that so that it's clearer?
Issue #5716 .
This PR follows PR #6489 .