A connection to the Cloud Pub/Sub service to publish events.
This interface defines pure-virtual methods for each of the user-facing overload sets in Publisher. That is, all of Publisher's overloads will forward to the one pure-virtual method declared in this interface. This allows users to inject custom behavior (e.g., with a Google Mock object) in a Publisher object for use in their own tests.
To create a concrete instance that connects you to the real Cloud Pub/Sub service, see MakePublisherConnection().
The *Params nested classes
Applications may define classes derived from PublisherConnection, for example, because they want to mock the class. To avoid breaking all such derived classes when we change the number or type of the arguments to the member functions we define lightweight structures to pass the arguments.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-14 UTC."],[[["This document details the `PublisherConnection` interface for the Google Cloud Pub/Sub C++ library, focusing on version 2.18.0 and including links to documentation for a multitude of versions, the latest of which is 2.37.0-rc."],["The `PublisherConnection` interface provides virtual methods (`Publish`, `Flush`, `ResumePublish`) that correspond to the overloads in the `Publisher` class, enabling users to define and implement custom behaviors."],["Users can create instances of `PublisherConnection` that connect to the real Cloud Pub/Sub service using the `MakePublisherConnection()` function, as noted in the documentation."],["The interface utilizes lightweight `*Params` structures to manage arguments for its member functions, helping maintain compatibility when argument changes are made."],["The documentation features a table format to describe parameters and return types for the virtual methods `Publish`, `Flush`, and `ResumePublish`, such as the parameter `p` that takes in the object `PublishParams`."]]],[]]