View Source EchoPubSub.Producer.Delivery (EchoPubSub v0.2.0)
Sends a registered node what it still needs, in a task. The node's cursor moves to the batch's target only when its worker acks, so a failed batch is resent.
Summary
Functions
Drops a task that died without a verdict; the cursor stays, so a retry resends.
Applies the task's verdict, then flushes again if writes piled up behind the batch.
Whether a batch to node is in flight.
Starts a delivery task to pid unless node is caught up. Only registered nodes get here.
Functions
@spec abort(EchoPubSub.Producer.State.t(), node()) :: EchoPubSub.Producer.State.t()
Drops a task that died without a verdict; the cursor stays, so a retry resends.
@spec finish( EchoPubSub.Producer.State.t(), node(), EchoPubSub.Producer.State.cursor(), EchoPubSub.Producer.Remote.verdict() ) :: EchoPubSub.Producer.State.t()
Applies the task's verdict, then flushes again if writes piled up behind the batch.
@spec running?(EchoPubSub.Producer.State.t(), node()) :: boolean()
Whether a batch to node is in flight.
@spec start(EchoPubSub.Producer.State.t(), pid(), node()) :: EchoPubSub.Producer.State.t()
Starts a delivery task to pid unless node is caught up. Only registered nodes get here.