Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified ci/abi-dumps/google_cloud_cpp_pubsub.expected.abi.dump.gz
Binary file not shown.
111 changes: 111 additions & 0 deletions doc/v3-migration-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,117 @@ internal legacy files.

### Pubsub

<details>
<summary>Removed <code>pubsub::PublisherOptions</code>
</summary>
#### `pubsub::PublisherOptions`

The deprecated `pubsub::PublisherOptions` has been removed. Please use
`google::cloud::Options` instead.

The following table shows the mapping from `pubsub::PublisherOptions` methods to
their `google::cloud::Options` equivalents:

| `pubsub::PublisherOptions` method | `google::cloud::Options` equivalent |
| --------------------------------- | -------------------------------------------------- |
| `(constructor)` | `google::cloud::Options{}` |
| `set_maximum_hold_time` | `google::cloud::pubsub::MaxHoldTimeOption` |
| `set_maximum_batch_message_count` | `google::cloud::pubsub::MaxBatchMessagesOption` |
| `set_maximum_batch_bytes` | `google::cloud::pubsub::MaxBatchBytesOption` |
| `enable_message_ordering` | `google::cloud::pubsub::MessageOrderingOption` |
| `disable_message_ordering` | `google::cloud::pubsub::MessageOrderingOption` |
| `set_maximum_pending_bytes` | `google::cloud::pubsub::MaxPendingBytesOption` |
| `set_maximum_pending_messages` | `google::cloud::pubsub::MaxPendingMessagesOption` |
| `set_full_publisher_ignored` | `google::cloud::pubsub::FullPublisherActionOption` |
| `set_full_publisher_rejects` | `google::cloud::pubsub::FullPublisherActionOption` |
| `set_full_publisher_blocks` | `google::cloud::pubsub::FullPublisherActionOption` |

Example usage of the replacements can be found below.

**Before:**

```cpp
namespace gc = ::google::cloud;
namespace pubsub = ::google::cloud::pubsub;

auto publisher_options = pubsub::PublisherOptions{}
.enable_message_ordering()
.set_full_publisher_ignored();

auto publisher = pubsub::Publisher(pubsub::MakePublisherConnection(
topic, publisher_options);
```

**After:**

```cpp
namespace gc = ::google::cloud;
namespace pubsub = ::google::cloud::pubsub;

auto options = gc::Options{}
.set<pubsub::MessageOrderingOption>(true)
.set<pubsub::FullPublisherActionOption>(
pubsub::FullPublisherAction::kIgnored);

auto publisher = pubsub::Publisher(pubsub::MakePublisherConnection(
topic, options));
```

</details>

<details>
<summary>Removed <code>pubsub::SubscriberOptions</code>
</summary>
#### `pubsub::SubscriberOptions`

The deprecated `pubsub::SubscriberOptions` has been removed. Please use
`google::cloud::Options` instead.

The following table shows the mapping from `pubsub::SubscriberOptions` methods
to their `google::cloud::Options` equivalents:

| `pubsub::SubscriberOptions` method | `google::cloud::Options` equivalent |
| ---------------------------------- | ----------------------------------------------------- |
| `(constructor)` | `google::cloud::Options{}` |
| `set_max_deadline_time` | `google::cloud::pubsub::MaxDeadlineTimeOption` |
| `set_max_deadline_extension` | `google::cloud::pubsub::MaxDeadlineExtensionOption` |
| `set_max_outstanding_messages` | `google::cloud::pubsub::MaxOutstandingMessagesOption` |
| `set_max_outstanding_bytes` | `google::cloud::pubsub::MaxOutstandingBytesOption` |
| `set_max_concurrency` | `google::cloud::pubsub::MaxConcurrencyOption` |
| `set_shutdown_polling_period` | `google::cloud::pubsub::ShutdownPollingPeriodOption` |

Example usage of the replacements can be found below.

**Before:**

```cpp
namespace gc = ::google::cloud;
namespace pubsub = ::google::cloud::pubsub;

auto subscriber_options = pubsub::SubscriberOptions{}
.set_max_deadline_time(std::chrono::seconds(10))
.set_max_outstanding_messages(42);

auto subscriber = pubsub::Subscriber(pubsub::MakeSubscriberConnection(
subscription, subscriber_options);
```

**After:**

```cpp
namespace gc = ::google::cloud;
namespace pubsub = ::google::cloud::pubsub;

auto options = gc::Options{}
.set<pubsub::MaxDeadlineTimeOption>(std::chrono::seconds(10))
.set<pubsub::MaxOutstandingMessagesOption>(42);

auto subscriber = pubsub::Subscriber(pubsub::MakeSubscriberConnection(
subscription, options));
```

</details>

### Spanner

<details>
Expand Down
6 changes: 0 additions & 6 deletions google/cloud/pubsub/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -243,8 +243,6 @@ add_library(
publisher.h
publisher_connection.cc
publisher_connection.h
publisher_options.cc
publisher_options.h
pull_ack_handler.cc
pull_ack_handler.h
pull_response.h
Expand All @@ -266,8 +264,6 @@ add_library(
subscriber.h
subscriber_connection.cc
subscriber_connection.h
subscriber_options.cc
subscriber_options.h
subscription.cc
subscription.h
subscription_admin_client.cc
Expand Down Expand Up @@ -494,14 +490,12 @@ function (google_cloud_cpp_pubsub_client_define_tests)
message_test.cc
options_test.cc
publisher_connection_test.cc
publisher_options_test.cc
publisher_test.cc
pull_ack_handler_test.cc
schema_test.cc
snapshot_builder_test.cc
snapshot_test.cc
subscriber_connection_test.cc
subscriber_options_test.cc
subscriber_test.cc
subscription_admin_client_test.cc
subscription_admin_connection_test.cc
Expand Down
1 change: 1 addition & 0 deletions google/cloud/pubsub/benchmarks/throughput.cc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

#include "google/cloud/pubsub/admin/subscription_admin_client.h"
#include "google/cloud/pubsub/admin/topic_admin_client.h"
#include "google/cloud/pubsub/options.h"
#include "google/cloud/pubsub/publisher.h"
#include "google/cloud/pubsub/subscriber.h"
#include "google/cloud/pubsub/testing/random_names.h"
Expand Down
1 change: 0 additions & 1 deletion google/cloud/pubsub/blocking_publisher.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_PUBSUB_BLOCKING_PUBLISHER_H

#include "google/cloud/pubsub/blocking_publisher_connection.h"
#include "google/cloud/pubsub/publisher_options.h"
#include "google/cloud/pubsub/version.h"
#include <string>

Expand Down
1 change: 0 additions & 1 deletion google/cloud/pubsub/blocking_publisher_connection.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
#include "google/cloud/pubsub/connection_options.h"
#include "google/cloud/pubsub/internal/publisher_stub.h"
#include "google/cloud/pubsub/message.h"
#include "google/cloud/pubsub/publisher_options.h"
#include "google/cloud/pubsub/retry_policy.h"
#include "google/cloud/pubsub/topic.h"
#include "google/cloud/pubsub/version.h"
Expand Down
4 changes: 0 additions & 4 deletions google/cloud/pubsub/google_cloud_cpp_pubsub.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@ google_cloud_cpp_pubsub_hdrs = [
"options.h",
"publisher.h",
"publisher_connection.h",
"publisher_options.h",
"pull_ack_handler.h",
"pull_response.h",
"retry_policy.h",
Expand All @@ -142,7 +141,6 @@ google_cloud_cpp_pubsub_hdrs = [
"snapshot_builder.h",
"subscriber.h",
"subscriber_connection.h",
"subscriber_options.h",
"subscription.h",
"subscription_admin_client.h",
"subscription_admin_connection.h",
Expand Down Expand Up @@ -248,7 +246,6 @@ google_cloud_cpp_pubsub_srcs = [
"message.cc",
"options.cc",
"publisher_connection.cc",
"publisher_options.cc",
"pull_ack_handler.cc",
"schema.cc",
"schema_client.cc",
Expand All @@ -258,7 +255,6 @@ google_cloud_cpp_pubsub_srcs = [
"snapshot_builder.cc",
"subscriber.cc",
"subscriber_connection.cc",
"subscriber_options.cc",
"subscription.cc",
"subscription_admin_client.cc",
"subscription_admin_connection.cc",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include "google/cloud/pubsub/internal/noop_message_callback.h"
#include "google/cloud/pubsub/internal/streaming_subscription_batch_source.h"
#include "google/cloud/pubsub/internal/subscriber_stub_factory.h"
#include "google/cloud/pubsub/options.h"
#include "google/cloud/pubsub/publisher.h"
#include "google/cloud/pubsub/subscriber.h"
#include "google/cloud/pubsub/subscription.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
// limitations under the License.

#include "google/cloud/pubsub/internal/batching_publisher_connection.h"
#include "google/cloud/pubsub/options.h"
#include "google/cloud/internal/make_status.h"

namespace google {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

#include "google/cloud/pubsub/internal/batching_publisher_connection.h"
#include "google/cloud/pubsub/internal/defaults.h"
#include "google/cloud/pubsub/options.h"
#include "google/cloud/pubsub/testing/mock_batch_sink.h"
#include "google/cloud/future.h"
#include "google/cloud/internal/random.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

#include "google/cloud/pubsub/internal/blocking_publisher_connection_impl.h"
#include "google/cloud/pubsub/internal/publisher_stub_factory.h"
#include "google/cloud/pubsub/options.h"
#include "google/cloud/internal/make_status.h"
#include "google/cloud/internal/retry_loop.h"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_PUBSUB_INTERNAL_FLOW_CONTROLLED_PUBLISHER_CONNECTION_H
#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_PUBSUB_INTERNAL_FLOW_CONTROLLED_PUBLISHER_CONNECTION_H

#include "google/cloud/pubsub/options.h"
#include "google/cloud/pubsub/publisher_connection.h"
#include "google/cloud/pubsub/version.h"
#include <condition_variable>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include "google/cloud/pubsub/internal/streaming_subscription_batch_source.h"
#include "google/cloud/pubsub/internal/exactly_once_policies.h"
#include "google/cloud/pubsub/internal/extend_leases_with_retry.h"
#include "google/cloud/pubsub/options.h"
#include "google/cloud/internal/async_retry_loop.h"
#include "google/cloud/internal/make_status.h"
#include "google/cloud/internal/url_encode.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
#include "google/cloud/pubsub/internal/subscriber_stub.h"
#include "google/cloud/pubsub/internal/subscription_batch_source.h"
#include "google/cloud/pubsub/retry_policy.h"
#include "google/cloud/pubsub/subscriber_options.h"
#include "google/cloud/pubsub/version.h"
#include "google/cloud/future.h"
#include "google/cloud/status.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

#include "google/cloud/pubsub/internal/streaming_subscription_batch_source.h"
#include "google/cloud/pubsub/internal/defaults.h"
#include "google/cloud/pubsub/options.h"
#include "google/cloud/pubsub/subscription.h"
#include "google/cloud/pubsub/testing/mock_batch_callback.h"
#include "google/cloud/pubsub/testing/mock_subscriber_stub.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include "google/cloud/pubsub/ack_handler.h"
#include "google/cloud/pubsub/exactly_once_ack_handler.h"
#include "google/cloud/pubsub/internal/defaults.h"
#include "google/cloud/pubsub/options.h"
#include "google/cloud/pubsub/testing/fake_streaming_pull.h"
#include "google/cloud/pubsub/testing/mock_subscriber_stub.h"
#include "google/cloud/pubsub/testing/test_retry_policies.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include "google/cloud/pubsub/mocks/mock_exactly_once_ack_handler.h"
#include "google/cloud/pubsub/mocks/mock_pull_ack_handler.h"
#include "google/cloud/pubsub/mocks/mock_subscriber_connection.h"
#include "google/cloud/pubsub/options.h"
#include "google/cloud/pubsub/pull_ack_handler.h"
#include "google/cloud/pubsub/subscriber_connection.h"
#include "google/cloud/internal/make_status.h"
Expand Down
1 change: 1 addition & 0 deletions google/cloud/pubsub/internal/subscription_session.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include "google/cloud/pubsub/internal/subscription_lease_management.h"
#include "google/cloud/pubsub/internal/subscription_message_queue.h"
#include "google/cloud/pubsub/internal/tracing_message_callback.h"
#include "google/cloud/pubsub/options.h"
#include "google/cloud/log.h"
#include "google/cloud/opentelemetry_options.h"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include "google/cloud/pubsub/application_callback.h"
#include "google/cloud/pubsub/exactly_once_ack_handler.h"
#include "google/cloud/pubsub/internal/defaults.h"
#include "google/cloud/pubsub/options.h"
#include "google/cloud/pubsub/subscriber_connection.h"
#include "google/cloud/pubsub/testing/fake_streaming_pull.h"
#include "google/cloud/pubsub/testing/mock_subscriber_stub.h"
Expand Down
8 changes: 0 additions & 8 deletions google/cloud/pubsub/publisher.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

#include "google/cloud/pubsub/connection_options.h"
#include "google/cloud/pubsub/publisher_connection.h"
#include "google/cloud/pubsub/publisher_options.h"
#include "google/cloud/pubsub/version.h"
#include <string>

Expand Down Expand Up @@ -185,13 +184,6 @@ class Publisher {
connection_->ResumePublish({std::move(ordering_key)});
}

/// @deprecated Use `Publisher(connection)` and provide any configuration
/// options when initializing the @p connection object.
GOOGLE_CLOUD_CPP_DEPRECATED("use `Publisher(connection)` instead")
explicit Publisher(std::shared_ptr<PublisherConnection> connection,
PublisherOptions const& /* options*/)
: Publisher(std::move(connection)) {}

private:
std::shared_ptr<PublisherConnection> connection_;
};
Expand Down
12 changes: 0 additions & 12 deletions google/cloud/pubsub/publisher_connection.cc
Original file line number Diff line number Diff line change
Expand Up @@ -132,18 +132,6 @@ std::shared_ptr<PublisherConnection> MakePublisherConnection(Topic topic,
return MakePublisherConnection("", std::move(topic), std::move(opts));
}

std::shared_ptr<PublisherConnection> MakePublisherConnection(
Topic topic, PublisherOptions options, ConnectionOptions connection_options,
std::unique_ptr<pubsub::RetryPolicy const> retry_policy,
std::unique_ptr<pubsub::BackoffPolicy const> backoff_policy) {
auto opts = internal::MergeOptions(
pubsub_internal::MakeOptions(std::move(options)),
internal::MakeOptions(std::move(connection_options)));
if (retry_policy) opts.set<RetryPolicyOption>(retry_policy->clone());
if (backoff_policy) opts.set<BackoffPolicyOption>(backoff_policy->clone());
return MakePublisherConnection(std::move(topic), std::move(opts));
}

GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
} // namespace pubsub

Expand Down
40 changes: 0 additions & 40 deletions google/cloud/pubsub/publisher_connection.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
#include "google/cloud/pubsub/connection_options.h"
#include "google/cloud/pubsub/internal/publisher_stub.h"
#include "google/cloud/pubsub/message.h"
#include "google/cloud/pubsub/publisher_options.h"
#include "google/cloud/pubsub/retry_policy.h"
#include "google/cloud/pubsub/topic.h"
#include "google/cloud/pubsub/version.h"
Expand Down Expand Up @@ -132,45 +131,6 @@ std::shared_ptr<PublisherConnection> MakePublisherConnection(
std::shared_ptr<PublisherConnection> MakePublisherConnection(Topic topic,
Options opts = {});

/**
* Creates a new `PublisherConnection` object to work with `Publisher`.
*
* The `PublisherConnection` class is not intended for direct use in
* applications, it is provided for applications wanting to mock the
* `Publisher` behavior in their tests.
*
* @par Performance
* Creating a new `PublisherConnection` is relatively expensive. This typically
* initiate connections to the service, and therefore these objects should be
* shared and reused when possible. Note that gRPC reuses existing OS resources
* (sockets) whenever possible, so applications may experience better
* performance on the second (and subsequent) calls to this function with the
* identical values for @p options. However, this behavior is not guaranteed
* and applications should not rely on it.
*
* @see `PublisherConnection`
*
* @param topic the Cloud Pub/Sub topic used by the returned
* `PublisherConnection`.
* @param options configure the batching policy and other parameters in the
* returned connection.
* @param connection_options (optional) general configuration for this
* connection, this type is also used to configure `pubsub::Subscriber`.
* @param retry_policy (optional) configure the retry loop.
* @param backoff_policy (optional) configure the backoff period between
* retries.
*
* @deprecated Please use the `MakePublisherConnection` method which accepts
* `google::cloud::Options` instead.
*/
GOOGLE_CLOUD_CPP_DEPRECATED(
"use the overload consuming google::cloud::Options instead")
std::shared_ptr<PublisherConnection> MakePublisherConnection(
Topic topic, PublisherOptions options,
ConnectionOptions connection_options = {},
std::unique_ptr<RetryPolicy const> retry_policy = {},
std::unique_ptr<BackoffPolicy const> backoff_policy = {});

GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
} // namespace pubsub

Expand Down
Loading