Skip to content

Commit edad852

Browse files
committed
fix(storage): preserve ABI compatibility by adding explicit Finalize overloads without default arguments
1 parent 33af3f0 commit edad852

2 files changed

Lines changed: 15 additions & 4 deletions

File tree

google/cloud/storage/async/writer.cc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@ future<StatusOr<AsyncToken>> AsyncWriter::Write(AsyncToken token,
6969
});
7070
}
7171

72+
future<StatusOr<google::storage::v2::Object>> AsyncWriter::Finalize(
73+
AsyncToken token, WritePayload payload) {
74+
return Finalize(std::move(token), std::move(payload), absl::nullopt);
75+
}
76+
7277
future<StatusOr<google::storage::v2::Object>> AsyncWriter::Finalize(
7378
AsyncToken token, WritePayload payload,
7479
absl::optional<Crc32cChecksumValue> const& expected_checksum) {
@@ -82,6 +87,11 @@ future<StatusOr<google::storage::v2::Object>> AsyncWriter::Finalize(
8287
.then([impl = impl_](auto f) { return f.get(); });
8388
}
8489

90+
future<StatusOr<google::storage::v2::Object>> AsyncWriter::Finalize(
91+
AsyncToken token) {
92+
return Finalize(std::move(token), WritePayload{}, absl::nullopt);
93+
}
94+
8595
future<StatusOr<google::storage::v2::Object>> AsyncWriter::Finalize(
8696
AsyncToken token,
8797
absl::optional<Crc32cChecksumValue> const& expected_checksum) {

google/cloud/storage/async/writer.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,18 +116,19 @@ class AsyncWriter {
116116
future<StatusOr<AsyncToken>> Write(AsyncToken token, WritePayload payload);
117117

118118
/// Finalize the upload with the existing data.
119+
future<StatusOr<google::storage::v2::Object>> Finalize(AsyncToken token);
119120
future<StatusOr<google::storage::v2::Object>> Finalize(
120121
AsyncToken token,
121-
absl::optional<Crc32cChecksumValue> const& expected_checksum =
122-
absl::nullopt);
122+
absl::optional<Crc32cChecksumValue> const& expected_checksum);
123123

124124
/**
125125
* Upload @p payload and then finalize the upload.
126126
*/
127+
future<StatusOr<google::storage::v2::Object>> Finalize(AsyncToken token,
128+
WritePayload payload);
127129
future<StatusOr<google::storage::v2::Object>> Finalize(
128130
AsyncToken token, WritePayload payload,
129-
absl::optional<Crc32cChecksumValue> const& expected_checksum =
130-
absl::nullopt);
131+
absl::optional<Crc32cChecksumValue> const& expected_checksum);
131132

132133
/**
133134
* Flush any buffered data to the service.

0 commit comments

Comments
 (0)