diff --git a/include/cppkafka/kafka_handle_base.h b/include/cppkafka/kafka_handle_base.h index cf981e20..f235ef3e 100644 --- a/include/cppkafka/kafka_handle_base.h +++ b/include/cppkafka/kafka_handle_base.h @@ -200,6 +200,13 @@ class CPPKAFKA_API KafkaHandleBase { * This calls rd_kafka_outq_len */ int get_out_queue_length() const; + + /** + * \brief Cancels the current callback dispatcher + * + * This calls rd_kafka_yield + */ + void yield() const; protected: KafkaHandleBase(Configuration config); diff --git a/src/kafka_handle_base.cpp b/src/kafka_handle_base.cpp index 1744e6d3..607c6138 100644 --- a/src/kafka_handle_base.cpp +++ b/src/kafka_handle_base.cpp @@ -165,6 +165,10 @@ int KafkaHandleBase::get_out_queue_length() const { return rd_kafka_outq_len(handle_.get()); } +void KafkaHandleBase::yield() const { + rd_kafka_yield(handle_.get()); +} + void KafkaHandleBase::set_handle(rd_kafka_t* handle) { handle_ = HandlePtr(handle, &rd_kafka_destroy); }