Interface SequencedPublisher<ResponseT> (1.12.22)

public interface SequencedPublisher<ResponseT> extends ApiService, Flushable

A PubSub Lite publisher that requires a sequence number assigned to every message, for publish idempotency. Errors are handled out of band. Thread safe.

Implements

ApiService, Flushable

Type Parameter

NameDescription
ResponseT

Methods

cancelOutstandingPublishes()

public abstract void cancelOutstandingPublishes()

Attempts to cancel all outstanding publishes.

publish(PubSubMessage message, PublishSequenceNumber sequenceNumber)

public abstract ApiFuture<ResponseT> publish(PubSubMessage message, PublishSequenceNumber sequenceNumber)

Publish a new message with an assigned sequence number.

Behavior is undefined if a call to flush() is outstanding or close() has already been called. This method never blocks.

Guarantees that if a single publish future has an exception set, all publish calls made after that will also have an exception set.

Parameters
NameDescription
messagePubSubMessage
sequenceNumberPublishSequenceNumber
Returns
TypeDescription
ApiFuture<ResponseT>