mirror of
https://github.com/Telecominfraproject/wlan-cloud-lib-cppkafka.git
synced 2025-11-01 11:07:56 +00:00
Allow access to the user-supplied delivery callback.
This commit is contained in:
@@ -178,6 +178,13 @@ public:
|
|||||||
*/
|
*/
|
||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Get the number of messages in the buffer
|
||||||
|
*
|
||||||
|
* \return The number of messages
|
||||||
|
*/
|
||||||
|
size_t get_buffer_size() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Sets the maximum amount of messages to be enqueued in the buffer.
|
* \brief Sets the maximum amount of messages to be enqueued in the buffer.
|
||||||
*
|
*
|
||||||
@@ -400,6 +407,11 @@ void BufferedProducer<BufferType>::clear() {
|
|||||||
std::swap(tmp, messages_);
|
std::swap(tmp, messages_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename BufferType>
|
||||||
|
size_t BufferedProducer<BufferType>::get_buffer_size() const {
|
||||||
|
return messages_.size();
|
||||||
|
}
|
||||||
|
|
||||||
template <typename BufferType>
|
template <typename BufferType>
|
||||||
void BufferedProducer<BufferType>::set_max_buffer_size(ssize_t max_buffer_size) {
|
void BufferedProducer<BufferType>::set_max_buffer_size(ssize_t max_buffer_size) {
|
||||||
if (max_buffer_size < -1) {
|
if (max_buffer_size < -1) {
|
||||||
@@ -413,11 +425,6 @@ ssize_t BufferedProducer<BufferType>::get_max_buffer_size() const {
|
|||||||
return max_buffer_size_;
|
return max_buffer_size_;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename BufferType>
|
|
||||||
size_t BufferedProducer<BufferType>::get_buffer_size() const {
|
|
||||||
return messages_.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename BufferType>
|
template <typename BufferType>
|
||||||
template <typename BuilderType>
|
template <typename BuilderType>
|
||||||
void BufferedProducer<BufferType>::do_add_message(BuilderType&& builder,
|
void BufferedProducer<BufferType>::do_add_message(BuilderType&& builder,
|
||||||
@@ -508,6 +515,7 @@ void BufferedProducer<BufferType>::produce_message(const MessageType& message) {
|
|||||||
template <typename BufferType>
|
template <typename BufferType>
|
||||||
Configuration BufferedProducer<BufferType>::prepare_configuration(Configuration config) {
|
Configuration BufferedProducer<BufferType>::prepare_configuration(Configuration config) {
|
||||||
using std::placeholders::_2;
|
using std::placeholders::_2;
|
||||||
|
delivery_report_callback_ = config.get_delivery_report_callback();
|
||||||
auto callback = std::bind(&BufferedProducer<BufferType>::on_delivery_report, this, _2);
|
auto callback = std::bind(&BufferedProducer<BufferType>::on_delivery_report, this, _2);
|
||||||
config.set_delivery_report_callback(std::move(callback));
|
config.set_delivery_report_callback(std::move(callback));
|
||||||
return config;
|
return config;
|
||||||
|
|||||||
Reference in New Issue
Block a user