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 BlockingPublisher. That is, all of BlockingPublisher'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 BlockingPublisher object for use in their own tests.
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"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["\u003cp\u003eThis document outlines the \u003ccode\u003eBlockingPublisherConnection\u003c/code\u003e interface for connecting to the Cloud Pub/Sub service to publish events, with \u003ccode\u003e2.37.0-rc\u003c/code\u003e being the latest version.\u003c/p\u003e\n"],["\u003cp\u003eThe interface uses pure-virtual methods, allowing users to inject custom behavior, such as with a Google Mock object, for testing \u003ccode\u003eBlockingPublisher\u003c/code\u003e objects.\u003c/p\u003e\n"],["\u003cp\u003eTo connect to the actual Cloud Pub/Sub service, users can create a concrete instance using \u003ccode\u003eMakeBlockingPublisherConnection()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe document also introduces lightweight \u003ccode\u003e*Params\u003c/code\u003e nested classes for passing arguments, which helps to avoid breaking derived classes when member functions are updated.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eBlockingPublisherConnection\u003c/code\u003e interface includes functions such as \u003ccode\u003ePublish(PublishParams)\u003c/code\u003e for publishing messages and \u003ccode\u003eoptions()\u003c/code\u003e for retrieving initialization options, with the former returning a \u003ccode\u003eStatusOr<std::string>\u003c/code\u003e upon completion.\u003c/p\u003e\n"]]],[],null,[]]