A connection to the Cloud Pub/Sub service to receive events.
This interface defines pure-virtual functions for each of the user-facing overload sets in Subscriber. That is, all of Subscriber's overloads will forward to the one pure-virtual function declared in this interface. This allows users to inject custom behavior (e.g., with a Google Mock object) in a Subscriber object for use in their own tests.
To create a concrete instance that connects you to the real Cloud Pub/Sub service, see MakeSubscriberConnection().
The *Params nested classes
Applications may define classes derived from SubscriberConnection, 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.
Functions
virtual Subscribe(SubscribeParams)
Defines the interface for Subscriber::Subscribe(ApplicationCallback)
[[["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 webpage details the \u003ccode\u003eSubscriberConnection\u003c/code\u003e class for connecting to the Cloud Pub/Sub service to receive events.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSubscriberConnection\u003c/code\u003e class provides pure-virtual functions that \u003ccode\u003eSubscriber\u003c/code\u003e overloads forward to, facilitating custom behavior injection, such as with Google Mock objects, for testing purposes.\u003c/p\u003e\n"],["\u003cp\u003eThe page includes documentation and links for numerous versions of the \u003ccode\u003eSubscriberConnection\u003c/code\u003e, including version 2.37.0-rc, down to 2.11.0, with each version's link leading to its respective documentation.\u003c/p\u003e\n"],["\u003cp\u003eThe class defines interfaces for \u003ccode\u003eSubscribe\u003c/code\u003e and \u003ccode\u003eExactlyOnceSubscribe\u003c/code\u003e methods, using \u003ccode\u003eSubscribeParams\u003c/code\u003e and \u003ccode\u003eExactlyOnceSubscribeParams\u003c/code\u003e respectively, for managing subscription details and it also includes a \u003ccode\u003ePull()\u003c/code\u003e function for status updates.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eSubscriberConnection\u003c/code\u003e allows for the creation of derived classes that can be mocked and it provides an \u003ccode\u003eoptions()\u003c/code\u003e method to retrieve configuration parameters.\u003c/p\u003e\n"]]],[],null,[]]