ProduceEnvelope constructor

ProduceEnvelope(
  1. String topicName,
  2. int partitionId,
  3. List<Message> messages, {
  4. KafkaCompression compression = KafkaCompression.none,
})

Creates new envelope containing list of messages.

You can optionally set compression codec which will be used to encode messages.

Implementation

ProduceEnvelope(this.topicName, this.partitionId, this.messages, {this.compression = KafkaCompression.none}) {
  messages.forEach((m) {
    if (m.attributes?.compression != KafkaCompression.none) {
      throw StateError('ProduceEnvelope: compression can not be set on individual messages in ProduceEnvelope, use ProduceEnvelope.compression instead.');
    }
  });
}