librdkafka
The Apache Kafka C/C++ client library
|
Base handle, super class for specific clients. More...
#include <rdkafkacpp.h>
Public Member Functions | |
virtual const std::string | name () const =0 |
virtual const std::string | memberid () const =0 |
Returns the client's broker-assigned group member id. More... | |
virtual int | poll (int timeout_ms)=0 |
Polls the provided kafka handle for events. More... | |
virtual int | outq_len ()=0 |
Returns the current out queue length. More... | |
virtual ErrorCode | metadata (bool all_topics, const Topic *only_rkt, Metadata **metadatap, int timeout_ms)=0 |
Request Metadata from broker. More... | |
virtual ErrorCode | pause (std::vector< TopicPartition * > &partitions)=0 |
Pause producing or consumption for the provided list of partitions. More... | |
virtual ErrorCode | resume (std::vector< TopicPartition * > &partitions)=0 |
Resume producing or consumption for the provided list of partitions. More... | |
virtual ErrorCode | query_watermark_offsets (const std::string &topic, int32_t partition, int64_t *low, int64_t *high, int timeout_ms)=0 |
Query broker for low (oldest/beginning) and high (newest/end) offsets for partition. More... | |
virtual ErrorCode | get_watermark_offsets (const std::string &topic, int32_t partition, int64_t *low, int64_t *high)=0 |
Get last known low (oldest/beginning) and high (newest/end) offsets for partition. More... | |
virtual ErrorCode | offsetsForTimes (std::vector< TopicPartition * > &offsets, int timeout_ms)=0 |
Look up the offsets for the given partitions by timestamp. More... | |
virtual Queue * | get_partition_queue (const TopicPartition *partition)=0 |
Retrieve queue for a given partition. More... | |
virtual ErrorCode | set_log_queue (Queue *queue)=0 |
Forward librdkafka logs (and debug) to the specified queue for serving with one of the ..poll() calls. More... | |
virtual void | yield ()=0 |
Cancels the current callback dispatcher (Producer::poll(), Consumer::poll(), KafkaConsumer::consume(), etc). More... | |
virtual const std::string | clusterid (int timeout_ms)=0 |
Returns the ClusterId as reported in broker metadata. More... | |
virtual struct rd_kafka_s * | c_ptr ()=0 |
Returns the underlying librdkafka C rd_kafka_t handle. More... | |
Base handle, super class for specific clients.
|
pure virtual |
|
pure virtual |
Returns the client's broker-assigned group member id.
|
pure virtual |
Polls the provided kafka handle for events.
Events will trigger application provided callbacks to be called.
The timeout_ms
argument specifies the maximum amount of time (in milliseconds) that the call will block waiting for events. For non-blocking calls, provide 0 as timeout_ms
. To wait indefinately for events, provide -1.
Events:
|
pure virtual |
Returns the current out queue length.
The out queue contains messages and requests waiting to be sent to, or acknowledged by, the broker.
|
pure virtual |
Request Metadata from broker.
Parameters: all_topics
- if non-zero: request info about all topics in cluster, if zero: only request info about locally known topics. only_rkt
- only request info about this topic metadatap
- pointer to hold metadata result. The *metadatap
pointer must be released with delete
. timeout_ms
- maximum response time before failing.
*metadatap
will be set), else RdKafka::ERR__TIMED_OUT on timeout or other error code on error.
|
pure virtual |
Pause producing or consumption for the provided list of partitions.
Success or error is returned per-partition in the partitions
list.
|
pure virtual |
Resume producing or consumption for the provided list of partitions.
Success or error is returned per-partition in the partitions
list.
|
pure virtual |
Query broker for low (oldest/beginning) and high (newest/end) offsets for partition.
Offsets are returned in *low
and *high
respectively.
|
pure virtual |
Get last known low (oldest/beginning) and high (newest/end) offsets for partition.
The low offset is updated periodically (if statistics.interval.ms is set) while the high offset is updated on each fetched message set from the broker.
If there is no cached offset (either low or high, or both) then OFFSET_INVALID will be returned for the respective offset.
Offsets are returned in *low
and *high
respectively.
|
pure virtual |
Look up the offsets for the given partitions by timestamp.
The returned offset for each partition is the earliest offset whose timestamp is greater than or equal to the given timestamp in the corresponding partition.
The timestamps to query are represented as offset
in offsets
on input, and offset()
will return the closest earlier offset for the timestamp on output.
The function will block for at most timeout_ms
milliseconds.
err()
|
pure virtual |
Retrieve queue for a given partition.
|
pure virtual |
Forward librdkafka logs (and debug) to the specified queue for serving with one of the ..poll() calls.
This allows an application to serve log callbacks (log_cb
) in its thread of choice.
queue | Queue to forward logs to. If the value is NULL the logs are forwarded to the main queue. |
log.queue
MUST also be set to true.
|
pure virtual |
Cancels the current callback dispatcher (Producer::poll(), Consumer::poll(), KafkaConsumer::consume(), etc).
A callback may use this to force an immediate return to the calling code (caller of e.g. ..::poll()) without processing any further events.
|
pure virtual |
Returns the ClusterId as reported in broker metadata.
timeout_ms | If there is no cached value from metadata retrieval then this specifies the maximum amount of time (in milliseconds) the call will block waiting for metadata to be retrieved. Use 0 for non-blocking calls. |
|
pure virtual |
Returns the underlying librdkafka C rd_kafka_t handle.
rd_kafka_t*