librdkafka
The Apache Kafka C/C++ client library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
rdkafkacpp.h File Reference

Apache Kafka C/C++ consumer and producer client library. More...

Go to the source code of this file.

Data Structures

class  RdKafka::DeliveryReportCb
 Delivery Report callback class. More...
 
class  RdKafka::PartitionerCb
 Partitioner callback class. More...
 
class  RdKafka::PartitionerKeyPointerCb
 Variant partitioner with key pointer. More...
 
class  RdKafka::EventCb
 Event callback class. More...
 
class  RdKafka::Event
 Event object class as passed to the EventCb callback. More...
 
class  RdKafka::ConsumeCb
 Consume callback class. More...
 
class  RdKafka::RebalanceCb
 KafkaConsunmer: Rebalance callback class More...
 
class  RdKafka::OffsetCommitCb
 Offset Commit callback class. More...
 
class  RdKafka::SocketCb
 Portability: SocketCb callback class More...
 
class  RdKafka::OpenCb
 Portability: OpenCb callback class More...
 
class  RdKafka::Conf
 Configuration interface. More...
 
class  RdKafka::Handle
 Base handle, super class for specific clients. More...
 
class  RdKafka::TopicPartition
 Topic+Partition. More...
 
class  RdKafka::Topic
 Topic handle. More...
 
class  RdKafka::MessageTimestamp
 Message timestamp object. More...
 
class  RdKafka::Message
 Message object. More...
 
class  RdKafka::Queue
 Queue interface. More...
 
class  RdKafka::KafkaConsumer
 High-level KafkaConsumer (for brokers 0.9 and later) More...
 
class  RdKafka::Consumer
 Simple Consumer (legacy) More...
 
class  RdKafka::Producer
 Producer. More...
 
class  RdKafka::BrokerMetadata
 Metadata: Broker information. More...
 
class  RdKafka::PartitionMetadata
 Metadata: Partition information. More...
 
class  RdKafka::TopicMetadata
 Metadata: Topic information. More...
 
class  RdKafka::Metadata
 Metadata container. More...
 

Miscellaneous APIs

#define RD_KAFKA_VERSION   0x000905ff
 librdkafka version More...
 
RD_EXPORT int RdKafka::version ()
 Returns the librdkafka version as integer. More...
 
RD_EXPORT std::string RdKafka::version_str ()
 Returns the librdkafka version as string.
 
RD_EXPORT std::string RdKafka::get_debug_contexts ()
 Returns a CSV list of the supported debug contexts for use with Conf::Set("debug", ..).
 
RD_EXPORT int RdKafka::wait_destroyed (int timeout_ms)
 Wait for all rd_kafka_t objects to be destroyed. More...
 

Constants, errors, types

enum  ErrorCode {
  RdKafka::ERR__BEGIN = -200,
  RdKafka::ERR__BAD_MSG = -199,
  RdKafka::ERR__BAD_COMPRESSION = -198,
  RdKafka::ERR__DESTROY = -197,
  RdKafka::ERR__FAIL = -196,
  RdKafka::ERR__TRANSPORT = -195,
  RdKafka::ERR__CRIT_SYS_RESOURCE = -194,
  RdKafka::ERR__RESOLVE = -193,
  RdKafka::ERR__MSG_TIMED_OUT = -192,
  RdKafka::ERR__PARTITION_EOF = -191,
  RdKafka::ERR__UNKNOWN_PARTITION = -190,
  RdKafka::ERR__FS = -189,
  RdKafka::ERR__UNKNOWN_TOPIC = -188,
  RdKafka::ERR__ALL_BROKERS_DOWN = -187,
  RdKafka::ERR__INVALID_ARG = -186,
  RdKafka::ERR__TIMED_OUT = -185,
  RdKafka::ERR__QUEUE_FULL = -184,
  RdKafka::ERR__ISR_INSUFF = -183,
  RdKafka::ERR__NODE_UPDATE = -182,
  RdKafka::ERR__SSL = -181,
  RdKafka::ERR__WAIT_COORD = -180,
  RdKafka::ERR__UNKNOWN_GROUP = -179,
  RdKafka::ERR__IN_PROGRESS = -178,
  RdKafka::ERR__PREV_IN_PROGRESS = -177,
  RdKafka::ERR__EXISTING_SUBSCRIPTION = -176,
  RdKafka::ERR__ASSIGN_PARTITIONS = -175,
  RdKafka::ERR__REVOKE_PARTITIONS = -174,
  RdKafka::ERR__CONFLICT = -173,
  RdKafka::ERR__STATE = -172,
  RdKafka::ERR__UNKNOWN_PROTOCOL = -171,
  RdKafka::ERR__NOT_IMPLEMENTED = -170,
  RdKafka::ERR__AUTHENTICATION = -169,
  RdKafka::ERR__NO_OFFSET = -168,
  RdKafka::ERR__OUTDATED = -167,
  RdKafka::ERR__TIMED_OUT_QUEUE = -166,
  RdKafka::ERR__UNSUPPORTED_FEATURE = -165,
  RdKafka::ERR__WAIT_CACHE = -164,
  RdKafka::ERR__END = -100,
  RdKafka::ERR_UNKNOWN = -1,
  RdKafka::ERR_NO_ERROR = 0,
  RdKafka::ERR_OFFSET_OUT_OF_RANGE = 1,
  RdKafka::ERR_INVALID_MSG = 2,
  RdKafka::ERR_UNKNOWN_TOPIC_OR_PART = 3,
  RdKafka::ERR_INVALID_MSG_SIZE = 4,
  RdKafka::ERR_LEADER_NOT_AVAILABLE = 5,
  RdKafka::ERR_NOT_LEADER_FOR_PARTITION = 6,
  RdKafka::ERR_REQUEST_TIMED_OUT = 7,
  RdKafka::ERR_BROKER_NOT_AVAILABLE = 8,
  RdKafka::ERR_REPLICA_NOT_AVAILABLE = 9,
  RdKafka::ERR_MSG_SIZE_TOO_LARGE = 10,
  RdKafka::ERR_STALE_CTRL_EPOCH = 11,
  RdKafka::ERR_OFFSET_METADATA_TOO_LARGE = 12,
  RdKafka::ERR_NETWORK_EXCEPTION = 13,
  RdKafka::ERR_GROUP_LOAD_IN_PROGRESS = 14,
  RdKafka::ERR_GROUP_COORDINATOR_NOT_AVAILABLE = 15,
  RdKafka::ERR_NOT_COORDINATOR_FOR_GROUP = 16,
  RdKafka::ERR_TOPIC_EXCEPTION = 17,
  RdKafka::ERR_RECORD_LIST_TOO_LARGE = 18,
  RdKafka::ERR_NOT_ENOUGH_REPLICAS = 19,
  RdKafka::ERR_NOT_ENOUGH_REPLICAS_AFTER_APPEND = 20,
  RdKafka::ERR_INVALID_REQUIRED_ACKS = 21,
  RdKafka::ERR_ILLEGAL_GENERATION = 22,
  RdKafka::ERR_INCONSISTENT_GROUP_PROTOCOL = 23,
  RdKafka::ERR_INVALID_GROUP_ID = 24,
  RdKafka::ERR_UNKNOWN_MEMBER_ID = 25,
  RdKafka::ERR_INVALID_SESSION_TIMEOUT = 26,
  RdKafka::ERR_REBALANCE_IN_PROGRESS = 27,
  RdKafka::ERR_INVALID_COMMIT_OFFSET_SIZE = 28,
  RdKafka::ERR_TOPIC_AUTHORIZATION_FAILED = 29,
  RdKafka::ERR_GROUP_AUTHORIZATION_FAILED = 30,
  RdKafka::ERR_CLUSTER_AUTHORIZATION_FAILED = 31
}
 Error codes. More...
 
RD_EXPORT std::string RdKafka::err2str (RdKafka::ErrorCode err)
 Returns a human readable representation of a kafka error.
 

Detailed Description

Apache Kafka C/C++ consumer and producer client library.

rdkafkacpp.h contains the public C++ API for librdkafka. The API is documented in this file as comments prefixing the class, function, type, enum, define, etc. For more information, see the C interface in rdkafka.h and read the manual in INTRODUCTION.md. The C++ interface is STD C++ '03 compliant and adheres to the Google C++ Style Guide.

See also
For the C interface see rdkafka.h

Macro Definition Documentation

#define RD_KAFKA_VERSION   0x000905ff

librdkafka version

Interpreted as hex MM.mm.rr.xx:

  • MM = Major
  • mm = minor
  • rr = revision
  • xx = pre-release id (0xff is the final release)

E.g.: 0x000801ff = 0.8.1

Remarks
This value should only be used during compile time, for runtime checks of version use RdKafka::version()