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\u003eThe latest version available is 2.37.0-rc, with numerous older versions, from 2.36.0 down to 2.11.0, also accessible.\u003c/p\u003e\n"],["\u003cp\u003eThis document details the \u003ccode\u003eBlockingPublisherConnection\u003c/code\u003e class, which facilitates connecting to the Cloud Pub/Sub service for event publishing.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eBlockingPublisherConnection\u003c/code\u003e class provides a pure-virtual interface for all overloads of the \u003ccode\u003eBlockingPublisher\u003c/code\u003e, allowing users to inject custom behaviors for testing purposes.\u003c/p\u003e\n"],["\u003cp\u003eThe document introduces \u003ccode\u003ePublishParams\u003c/code\u003e as a lightweight structure to pass arguments to member functions, ensuring compatibility when the arguments change.\u003c/p\u003e\n"],["\u003cp\u003eThe interface includes virtual functions like \u003ccode\u003ePublish(PublishParams)\u003c/code\u003e, which defines how the \u003ccode\u003eBlockingPublisher::Publish()\u003c/code\u003e method is handled, and \u003ccode\u003eoptions()\u003c/code\u003e, which returns the options configured at initialization.\u003c/p\u003e\n"]]],[],null,[]]