Google Cloud Pub/Sub C++ Client  2.5.0
A C++ Client Library for Google Cloud Pub/Sub
Classes | Public Member Functions | List of all members
google::cloud::pubsub::PublisherConnection Class Referenceabstract

A connection to the Cloud Pub/Sub service to publish events. More...

#include <google/cloud/pubsub/publisher_connection.h>


struct  FlushParams
 Wrap the arguments for Flush() More...
struct  PublishParams
 Wrap the arguments for Publish() More...
struct  ResumePublishParams
 Wrap the arguments for ResumePublish() More...

Public Member Functions

virtual ~PublisherConnection ()=0
virtual future< StatusOr< std::string > > Publish (PublishParams p)
 Defines the interface for Publisher::Publish() More...
virtual void Flush (FlushParams)
 Defines the interface for Publisher::Flush() More...
virtual void ResumePublish (ResumePublishParams p)
 Defines the interface for Publisher::ResumePublish() More...

Detailed Description

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 Publisher. That is, all of Publisher'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 Publisher object for use in their own tests.

To create a concrete instance that connects you to the real Cloud Pub/Sub service, see MakePublisherConnection().

The *Params nested classes
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.

Definition at line 56 of file publisher_connection.h.

Constructor & Destructor Documentation

◆ ~PublisherConnection()

virtual google::cloud::pubsub::PublisherConnection::~PublisherConnection ( )
pure virtual

Member Function Documentation

◆ Flush()

virtual void google::cloud::pubsub::PublisherConnection::Flush ( FlushParams  )

Defines the interface for Publisher::Flush()

◆ Publish()

virtual future<StatusOr<std::string> > google::cloud::pubsub::PublisherConnection::Publish ( PublishParams  p)

Defines the interface for Publisher::Publish()

◆ ResumePublish()

virtual void google::cloud::pubsub::PublisherConnection::ResumePublish ( ResumePublishParams  p)

Defines the interface for Publisher::ResumePublish()