Extreme.ListenerWithBackPressure behaviour (extreme v1.1.2)
View SourceThe same as Extreme.Listener
but uses event_producer functionality which applies backpressure
on live events as well.
The way it works is that there's intermediate process which turns off subscription when max_buffer
is reached
and creates new subscription when all buffered events are processed.
Summary
Callbacks
@callback process_push( push_from_es :: Extreme.Messages.ResolvedEvent.t(), stream_name :: String.t(), client_state :: any() ) :: {:ok, event_number :: non_neg_integer()} | :ok | :stop