View Source PulsarEx.Connection.ProducerCallback behaviour (PulsarEx v0.14.1)

Summary

Callbacks

Link to this callback

close_producer(conn, producer_id)

View Source
@callback close_producer(conn :: pid(), producer_id :: integer()) ::
  :ok | {:error, term()}
Link to this callback

create_producer(conn, producer_id, topic_name, producer_opts, deadline)

View Source
@callback create_producer(
  conn :: pid(),
  producer_id :: integer(),
  topic_name :: String.t(),
  producer_opts :: keyword(),
  deadline :: integer()
) :: {:ok, map()} | {:error, term()}
Link to this callback

send_message(conn, producer_id, sequence_id, message, deadline)

View Source
@callback send_message(
  conn :: pid(),
  producer_id :: integer(),
  sequence_id :: integer(),
  message :: %PulsarEx.ProducerMessage{
    compression: term(),
    deliver_at_time: term(),
    event_time: term(),
    ordering_key: term(),
    partition_key: term(),
    payload: term(),
    producer_id: term(),
    producer_name: term(),
    properties: term(),
    sequence_id: term(),
    topic: term()
  },
  deadline :: integer()
) :: :ok | {:error, term()}
Link to this callback

send_messages(conn, producer_id, sequence_id, messages, deadline)

View Source
@callback send_messages(
  conn :: pid(),
  producer_id :: integer(),
  sequence_id :: integer(),
  messages :: [
    %PulsarEx.ProducerMessage{
      compression: term(),
      deliver_at_time: term(),
      event_time: term(),
      ordering_key: term(),
      partition_key: term(),
      payload: term(),
      producer_id: term(),
      producer_name: term(),
      properties: term(),
      sequence_id: term(),
      topic: term()
    }
  ],
  deadline :: integer()
) :: :ok | {:error, term()}