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 page details the \u003ccode\u003eBlockingPublisherConnection\u003c/code\u003e class for connecting to the Cloud Pub/Sub service to publish events, with the latest version being 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eBlockingPublisherConnection\u003c/code\u003e interface includes pure-virtual methods that correspond to the overload sets found in \u003ccode\u003eBlockingPublisher\u003c/code\u003e, allowing users to customize behavior, especially for testing purposes.\u003c/p\u003e\n"],["\u003cp\u003eTo connect to the live Cloud Pub/Sub service, use the \u003ccode\u003eMakeBlockingPublisherConnection()\u003c/code\u003e function, which creates a concrete instance of \u003ccode\u003eBlockingPublisherConnection\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe interface defines a virtual \u003ccode\u003ePublish(PublishParams)\u003c/code\u003e function, which mirrors the functionality of \u003ccode\u003eBlockingPublisher::Publish()\u003c/code\u003e and accepts \u003ccode\u003ePublishParams\u003c/code\u003e as input to publish events.\u003c/p\u003e\n"],["\u003cp\u003eThe interface also defines a virtual \u003ccode\u003eoptions()\u003c/code\u003e function that returns the \u003ccode\u003eOptions\u003c/code\u003e that were configured at initialization time.\u003c/p\u003e\n"]]],[],null,[]]