kafka_ex v0.11.0 KafkaEx.Partitioner behaviour View Source

Behaviour definition for partitioners, that assigns partitions for requests.

Link to this section Summary

Functions

Returns key for given messages

Link to this section Functions

Link to this function

get_key(arg1)

View Source
get_key(
  request :: %KafkaEx.Protocol.Produce.Request{
    api_version: term(),
    compression: term(),
    messages: term(),
    partition: term(),
    required_acks: term(),
    timeout: term(),
    topic: term()
  }
) :: {:ok, nil | binary()} | {:error, atom()}

Returns key for given messages

Function looks for message key in messages list of {ProduceRequest}. It may return either {:ok, nil} if no key was found, {:ok, key} when key was found, or {:error, atom} when error happens while looking for the key.

Link to this section Callbacks

Link to this callback

assign_partition(request, metadata)

View Source
assign_partition(
  request :: %KafkaEx.Protocol.Produce.Request{
    api_version: term(),
    compression: term(),
    messages: term(),
    partition: term(),
    required_acks: term(),
    timeout: term(),
    topic: term()
  },
  metadata :: %KafkaEx.Protocol.Metadata.Response{
    brokers: term(),
    controller_id: term(),
    topic_metadatas: term()
  }
) :: %KafkaEx.Protocol.Produce.Request{
  api_version: term(),
  compression: term(),
  messages: term(),
  partition: term(),
  required_acks: term(),
  timeout: term(),
  topic: term()
}