BroadwayCloudPubSub.Client behaviour (BroadwayCloudPubSub v0.6.1) View Source
A generic behaviour to implement Pub/Sub Clients for BroadwayCloudPubSub.Producer.
This module defines callbacks to normalize options and receive messages
from a Cloud Pub/Sub topic. Modules that implement this behaviour should be passed
as the :client option from BroadwayCloudPubSub.Producer.
Link to this section Summary
Types
The amount of time (in seconds) before Pub/Sub should reschedule a message.
The ackId returned by Pub/Sub to be used when acknowledging a message.
A list of ackId strings.
A list of Broadway.Message structs.
Callbacks
Dispatches an acknowledge request.
Invoked once by BroadwayCloudPubSub.Producer during Broadway.start_link/2.
Dispatches a modifyAckDeadline request.
Dispatches a pull request.
Link to this section Types
Specs
ack_deadline() :: 0..600
The amount of time (in seconds) before Pub/Sub should reschedule a message.
Specs
ack_id() :: String.t()
The ackId returned by Pub/Sub to be used when acknowledging a message.
Specs
ack_ids() :: [ack_id()]
A list of ackId strings.
Specs
messages() :: [Broadway.Message.t()]
A list of Broadway.Message structs.
Link to this section Callbacks
Specs
Dispatches an acknowledge request.
Specs
Specs
prepare_to_connect(name :: atom(), producer_opts :: keyword()) :: {[:supervisor.child_spec() | {module(), any()} | module()], producer_opts :: keyword()}
Invoked once by BroadwayCloudPubSub.Producer during Broadway.start_link/2.
The goal of this task is to manipulate the producer options, if necessary at all, and introduce any new child specs that will be started in Broadway's supervision tree.
Specs
put_deadline(ack_ids(), ack_deadline(), opts :: any()) :: any()
Dispatches a modifyAckDeadline request.
Specs
receive_messages( demand :: pos_integer(), ack_builder :: (ack_id() -> term()), opts :: any() ) :: messages()
Dispatches a pull request.