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 page 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 defines pure-virtual functions that forward to the overloads of \u003ccode\u003eSubscriber\u003c/code\u003e, allowing for custom behavior injection, such as with mock objects, within user tests.\u003c/p\u003e\n"],["\u003cp\u003eThe document outlines several versions of the \u003ccode\u003eSubscriberConnection\u003c/code\u003e class, ranging from the latest release candidate version 2.37.0-rc down to 2.11.0, which are available for reference.\u003c/p\u003e\n"],["\u003cp\u003eThe interface defines functions like \u003ccode\u003eSubscribe\u003c/code\u003e, \u003ccode\u003eExactlyOnceSubscribe\u003c/code\u003e, \u003ccode\u003ePull\u003c/code\u003e, and \u003ccode\u003eoptions\u003c/code\u003e, along with their respective parameters and return types.\u003c/p\u003e\n"],["\u003cp\u003eLightweight structures to pass the arguments to member functions are defined with the *Params nested classes, to prevent breaking derived classes when changing the number or type of arguments.\u003c/p\u003e\n"]]],[],null,[]]