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

Consume:

  • Message offset (or offset for error if err!=0 if applicable).
  • dr_msg_cb: Message offset assigned by broker. If produce.offset.report is set then each message will have this field set, otherwise only the last message in each produced internal batch will have this field set, otherwise 0.
void* rd_kafka_message_t::_private

Consume:

  • rdkafka private pointer: DO NOT MODIFY
  • dr_msg_cb: msg_opaque from produce() call

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