BroadwayCloudPubSub.Client behaviour (BroadwayCloudPubSub v0.6.2) 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.