View Source PulsarEx.ConsumerCallback behaviour (PulsarEx v0.14.2)

Summary

Callbacks

Link to this callback

handle_messages(list, %PulsarEx.Consumer{})

View Source
@callback handle_messages(
  [
    %PulsarEx.ConsumerMessage{
      batch_index: term(),
      batch_size: term(),
      deliver_at_time: term(),
      event_time: term(),
      message_id: term(),
      ordering_key: term(),
      partition_key: term(),
      payload: term(),
      producer_name: term(),
      properties: term(),
      publish_time: term(),
      redelivery_count: term(),
      sequence_id: term(),
      topic: term()
    }
  ],
  %PulsarEx.Consumer{
    ack_interval: term(),
    ack_timeout: term(),
    acks: term(),
    attempts: term(),
    authoritative: term(),
    backoff: term(),
    batch: term(),
    batch_size: term(),
    broker_url: term(),
    cluster: term(),
    connection: term(),
    connection_monitor: term(),
    consumer_id: term(),
    consumer_name: term(),
    consumer_opts: term(),
    dead_letter_producer_opts: term(),
    dead_letter_topic: term(),
    error: term(),
    flow_permits_sent: term(),
    flow_permits_watermark: term(),
    initial_position: term(),
    max_attempts: term(),
    max_redelivery_attempts: term(),
    max_redirects: term(),
    messages_acked: term(),
    messages_dead_lettered: term(),
    messages_nacked: term(),
    messages_received: term(),
    pending_acks: term(),
    permits: term(),
    poll_interval: term(),
    priority_level: term(),
    properties: term(),
    queue: term(),
    queue_size: term(),
    read_compacted: term(),
    receiving_queue_size: term(),
    redelivery_interval: term(),
    redelivery_policy: term(),
    redirects: term(),
    refill_queue_size_watermark: term(),
    state: term(),
    subscription: term(),
    subscription_type: term(),
    topic: term()
  }
) :: [:ok | {:ok, term()} | {:error, term()}]
Link to this callback

send_to_dead_letter(%PulsarEx.ConsumerMessage{}, %PulsarEx.Consumer{})

View Source
@callback send_to_dead_letter(
  %PulsarEx.ConsumerMessage{
    batch_index: term(),
    batch_size: term(),
    deliver_at_time: term(),
    event_time: term(),
    message_id: term(),
    ordering_key: term(),
    partition_key: term(),
    payload: term(),
    producer_name: term(),
    properties: term(),
    publish_time: term(),
    redelivery_count: term(),
    sequence_id: term(),
    topic: term()
  },
  %PulsarEx.Consumer{
    ack_interval: term(),
    ack_timeout: term(),
    acks: term(),
    attempts: term(),
    authoritative: term(),
    backoff: term(),
    batch: term(),
    batch_size: term(),
    broker_url: term(),
    cluster: term(),
    connection: term(),
    connection_monitor: term(),
    consumer_id: term(),
    consumer_name: term(),
    consumer_opts: term(),
    dead_letter_producer_opts: term(),
    dead_letter_topic: term(),
    error: term(),
    flow_permits_sent: term(),
    flow_permits_watermark: term(),
    initial_position: term(),
    max_attempts: term(),
    max_redelivery_attempts: term(),
    max_redirects: term(),
    messages_acked: term(),
    messages_dead_lettered: term(),
    messages_nacked: term(),
    messages_received: term(),
    pending_acks: term(),
    permits: term(),
    poll_interval: term(),
    priority_level: term(),
    properties: term(),
    queue: term(),
    queue_size: term(),
    read_compacted: term(),
    receiving_queue_size: term(),
    redelivery_interval: term(),
    redelivery_policy: term(),
    redirects: term(),
    refill_queue_size_watermark: term(),
    state: term(),
    subscription: term(),
    subscription_type: term(),
    topic: term()
  }
) :: :ok | {:ok, term()} | {:error, term()}