KafkaEx.Partitioner behaviour (kafka_ex v0.12.1-25-s-1) 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
Specs
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
Specs
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()
}