librdkafka
The Apache Kafka C/C++ client library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
rd_kafka_message_t Struct Reference

A Kafka message as returned by the rd_kafka_consume*() family of functions as well as provided to the Producer dr_msg_cb(). More...

#include <rdkafka.h>

Data Fields

rd_kafka_resp_err_t err
 
rd_kafka_topic_t * rkt
 
int32_t partition
 
void * payload
 
size_t len
 
void * key
 
size_t key_len
 
int64_t offset
 
void * _private
 

Detailed Description

A Kafka message as returned by the rd_kafka_consume*() family of functions as well as provided to the Producer dr_msg_cb().

For the consumer this object has two purposes:

  • provide the application with a consumed message. (err == 0)
  • report per-topic+partition consumer errors (err != 0)

The application must check err to decide what action to take.

When the application is finished with a message it must call rd_kafka_message_destroy() unless otherwise noted.

Field Documentation

rd_kafka_resp_err_t rd_kafka_message_t::err

Non-zero for error signaling.

rd_kafka_topic_t* rd_kafka_message_t::rkt

Topic

int32_t rd_kafka_message_t::partition

Partition

void* rd_kafka_message_t::payload

Producer: original message payload. Consumer: Depends on the value of err :

  • err==0: Message payload.
  • err!=0: Error string
size_t rd_kafka_message_t::len

Depends on the value of err :

  • err==0: Message payload length
  • err!=0: Error string length
void* rd_kafka_message_t::key

Depends on the value of err :

  • err==0: Optional message key
size_t rd_kafka_message_t::key_len

Depends on the value of err :

  • err==0: Optional message key length
int64_t rd_kafka_message_t::offset

Consumer:

  • Message offset (or offset for error if err!=0 if applicable). Producer, dr_msg_cb: Message offset assigned by broker. May be RD_KAFKA_OFFSET_INVALID for retried messages when idempotence is enabled.
void* rd_kafka_message_t::_private

Consumer:

  • rdkafka private pointer: DO NOT MODIFY Producer:
  • dr_msg_cb: msg_opaque from produce() call or RD_KAFKA_V_OPAQUE from producev().

The documentation for this struct was generated from the following file: