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 document details the \u003ccode\u003eSubscriberConnection\u003c/code\u003e interface, which facilitates receiving events from the Cloud Pub/Sub service in C++.\u003c/p\u003e\n"],["\u003cp\u003eThe latest release candidate is version 2.37.0-rc, and it includes a list of versions from 2.36.0 down to 2.11.0, with all versions being linked to their respective \u003ccode\u003eSubscriberConnection\u003c/code\u003e class documentation.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eSubscriberConnection\u003c/code\u003e provides pure-virtual functions mirroring \u003ccode\u003eSubscriber\u003c/code\u003e overloads, enabling custom behavior injection for testing purposes, and uses \u003ccode\u003eMakeSubscriberConnection()\u003c/code\u003e to create a connection to the real service.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSubscriberConnection\u003c/code\u003e interface includes functions such as \u003ccode\u003eSubscribe\u003c/code\u003e, \u003ccode\u003eExactlyOnceSubscribe\u003c/code\u003e, \u003ccode\u003ePull\u003c/code\u003e, and \u003ccode\u003eoptions\u003c/code\u003e, each described with its parameters, return types, and purpose.\u003c/p\u003e\n"],["\u003cp\u003eApplications can derive classes from \u003ccode\u003eSubscriberConnection\u003c/code\u003e to mock the class and lightweight structures are used to avoid breaking these classes when the arguments change.\u003c/p\u003e\n"]]],[],null,[]]