confluent-kafka-dotnet
Show / Hide Table of Contents

Delegate PartitionerDelegate

Calculate a partition number given a partitionCount and serialized keyData. The topic is also provided, but is typically not used.

Namespace: Confluent.Kafka
Assembly: Confluent.Kafka.dll
Syntax
public delegate Partition PartitionerDelegate(string topic, int partitionCount, ReadOnlySpan<byte> keyData, bool keyIsNull)
Parameters
Type Name Description
string topic

The topic.

int partitionCount

The number of partitions in topic.

ReadOnlySpan<byte> keyData

The serialized key data.

bool keyIsNull

Whether or not the key is null (distinguishes the null and empty case).

Returns
Type Description
Partition

The calculated Partition, possibly Any.

Remarks

A partitioner instance may be called in any thread at any time and may be called multiple times for the same message/key.

A partitioner:

  • MUST NOT call any method on the producer instance.
  • MUST NOT block or execute for prolonged periods of time.
  • MUST return a value between 0 and partitionCnt-1.
  • MUST NOT throw any exception.
In this article