Message object.  
 More...
#include <rdkafkacpp.h>
Message object. 
This object represents either a single consumed or produced message, or an event (err() is set).
An application must check RdKafka::Message::err() to see if the object is a proper message (error is RdKafka::ERR_NO_ERROR) or a an error event. 
◆ Status
Message persistence status can be used by the application to find out if a produced message was persisted in the topic log. 
| Enumerator | 
|---|
| MSG_STATUS_NOT_PERSISTED | Message was never transmitted to the broker, or failed with an error indicating it was not written to the log. Application retry risks ordering, but not duplication.  | 
| MSG_STATUS_POSSIBLY_PERSISTED | Message was transmitted to broker, but no acknowledgement was received. Application retry risks ordering and duplication.  | 
| MSG_STATUS_PERSISTED | Message was written to the log and fully acknowledged. No reason for application to retry. Note: this value should only be trusted with acks=all. | 
 
 
◆ errstr()
  
  | 
        
          | virtual std::string RdKafka::Message::errstr | ( |  | ) | const |  | pure virtual | 
 
Accessor functions*. 
- Returns
- The error string if object represent an error event, else an empty string. 
 
 
◆ err()
  
  | 
        
          | virtual ErrorCode RdKafka::Message::err | ( |  | ) | const |  | pure virtual | 
 
- Returns
- The error code if object represents an error event, else 0. 
 
 
◆ topic()
  
  | 
        
          | virtual Topic * RdKafka::Message::topic | ( |  | ) | const |  | pure virtual | 
 
 
◆ topic_name()
  
  | 
        
          | virtual std::string RdKafka::Message::topic_name | ( |  | ) | const |  | pure virtual | 
 
- Returns
- Topic name (if applicable, else empty string) 
 
 
◆ partition()
  
  | 
        
          | virtual int32_t RdKafka::Message::partition | ( |  | ) | const |  | pure virtual | 
 
- Returns
- Partition (if applicable) 
 
 
◆ payload()
  
  | 
        
          | virtual void * RdKafka::Message::payload | ( |  | ) | const |  | pure virtual | 
 
- Returns
- Message payload (if applicable) 
 
 
◆ len()
  
  | 
        
          | virtual size_t RdKafka::Message::len | ( |  | ) | const |  | pure virtual | 
 
- Returns
- Message payload length (if applicable) 
 
 
◆ key()
  
  | 
        
          | virtual const std::string * RdKafka::Message::key | ( |  | ) | const |  | pure virtual | 
 
- Returns
- Message key as string (if applicable) 
 
 
◆ key_pointer()
  
  | 
        
          | virtual const void * RdKafka::Message::key_pointer | ( |  | ) | const |  | pure virtual | 
 
- Returns
- Message key as void pointer (if applicable) 
 
 
◆ key_len()
  
  | 
        
          | virtual size_t RdKafka::Message::key_len | ( |  | ) | const |  | pure virtual | 
 
- Returns
- Message key's binary length (if applicable) 
 
 
◆ offset()
  
  | 
        
          | virtual int64_t RdKafka::Message::offset | ( |  | ) | const |  | pure virtual | 
 
- Returns
- Message or error offset (if applicable) 
 
 
◆ timestamp()
- Returns
- Message timestamp (if applicable) 
 
 
◆ msg_opaque()
  
  | 
        
          | virtual void * RdKafka::Message::msg_opaque | ( |  | ) | const |  | pure virtual | 
 
 
◆ latency()
  
  | 
        
          | virtual int64_t RdKafka::Message::latency | ( |  | ) | const |  | pure virtual | 
 
- Returns
- the latency in microseconds for a produced message measured from the produce() call, or -1 if latency is not available. 
 
 
◆ c_ptr()
  
  | 
        
          | virtual struct rd_kafka_message_s * RdKafka::Message::c_ptr | ( |  | ) |  |  | pure virtual | 
 
Returns the underlying librdkafka C rd_kafka_message_t handle. 
- Warning
- Calling the C API on this handle is not recommended and there is no official support for it, but for cases where the C++ API does not provide the underlying functionality this C handle can be used to interact directly with the core librdkafka API.
- Returns
- rd_kafka_message_t*
 
 
◆ headers() [1/2]
- Returns
- the Headers instance for this Message, or NULL if there are no headers.
 
 
◆ headers() [2/2]
- Returns
- the Headers instance for this Message (if applicable). If NULL is returned the reason is given in err, which is either ERR__NOENT if there were no headers, or another error code if header parsing failed.
 
 
◆ broker_id()
  
  | 
        
          | virtual int32_t RdKafka::Message::broker_id | ( |  | ) | const |  | pure virtual | 
 
- Returns
- the broker id of the broker the message was produced to or fetched from, or -1 if not known/applicable. 
 
 
◆ leader_epoch()
  
  | 
        
          | virtual int32_t RdKafka::Message::leader_epoch | ( |  | ) | const |  | pure virtual | 
 
- Returns
- the message's partition leader epoch at the time the message was fetched and if known, else -1. 
 
 
◆ offset_store()
  
  | 
        
          | virtual Error * RdKafka::Message::offset_store | ( |  | ) |  |  | pure virtual | 
 
Store offset +1 for the consumed message. 
The message offset + 1 will be committed to broker according to `auto.commit.interval.ms` or manual offset-less commit()
- Warning
- This method may only be called for partitions that are currently assigned. Non-assigned partitions will fail with ERR__STATE.
- 
Avoid storing offsets after calling seek() (et.al) as this may later interfere with resuming a paused partition, instead store offsets prior to calling seek.
- Returns
- NULL on success or an error object on failure. 
 
 
The documentation for this class was generated from the following file: