KafkaEx.Partitioner behaviour (kafka_ex v0.12.1-42-6) 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()
}