mirror of
https://github.com/Telecominfraproject/wlan-cloud-lib-cppkafka.git
synced 2025-11-08 14:33:16 +00:00
Fixed end() iterator and also applied default copy-constructor instead of passing null handle in BasicMessageBuilder
This commit is contained in:
@@ -279,16 +279,13 @@ bool HeaderList<HeaderType>::empty() const {
|
|||||||
template <typename HeaderType>
|
template <typename HeaderType>
|
||||||
typename HeaderList<HeaderType>::Iterator
|
typename HeaderList<HeaderType>::Iterator
|
||||||
HeaderList<HeaderType>::begin() const {
|
HeaderList<HeaderType>::begin() const {
|
||||||
if (empty()) {
|
return empty() ? end() : Iterator(make_non_owning(handle_.get()), 0);
|
||||||
return end();
|
|
||||||
}
|
|
||||||
return Iterator(make_non_owning(handle_.get()), 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename HeaderType>
|
template <typename HeaderType>
|
||||||
typename HeaderList<HeaderType>::Iterator
|
typename HeaderList<HeaderType>::Iterator
|
||||||
HeaderList<HeaderType>::end() const {
|
HeaderList<HeaderType>::end() const {
|
||||||
return Iterator(make_non_owning(handle_.get()), size());
|
return Iterator(empty() ? HeaderList<HeaderType>() : make_non_owning(handle_.get()), size());
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename HeaderType>
|
template <typename HeaderType>
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ private:
|
|||||||
HeaderIterator(HeaderListType headers,
|
HeaderIterator(HeaderListType headers,
|
||||||
size_t index)
|
size_t index)
|
||||||
: header_list_(std::move(headers)),
|
: header_list_(std::move(headers)),
|
||||||
header_(index == header_list_.size() ? HeaderType() : header_list_.at(index)),
|
header_(header_list_.empty() ? HeaderType() : header_list_.at(index)),
|
||||||
index_(index) {
|
index_(index) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -245,7 +245,7 @@ BasicMessageBuilder<T, C>::BasicMessageBuilder(const Message& message)
|
|||||||
key_(Buffer(message.get_key().get_data(), message.get_key().get_size())),
|
key_(Buffer(message.get_key().get_data(), message.get_key().get_size())),
|
||||||
#if (RD_KAFKA_VERSION >= RD_KAFKA_HEADERS_SUPPORT_VERSION)
|
#if (RD_KAFKA_VERSION >= RD_KAFKA_HEADERS_SUPPORT_VERSION)
|
||||||
header_list_(message.get_header_list() ?
|
header_list_(message.get_header_list() ?
|
||||||
rd_kafka_headers_copy(message.get_header_list().get_handle()) : nullptr), //copy headers
|
HeaderListType(rd_kafka_headers_copy(message.get_header_list().get_handle())) : HeaderListType()), //copy headers
|
||||||
#endif
|
#endif
|
||||||
payload_(Buffer(message.get_payload().get_data(), message.get_payload().get_size())),
|
payload_(Buffer(message.get_payload().get_data(), message.get_payload().get_size())),
|
||||||
timestamp_(message.get_timestamp() ? message.get_timestamp().get().get_timestamp() :
|
timestamp_(message.get_timestamp() ? message.get_timestamp().get().get_timestamp() :
|
||||||
@@ -262,7 +262,7 @@ BasicMessageBuilder<T, C>::BasicMessageBuilder(const BasicMessageBuilder<U, V>&
|
|||||||
partition_(rhs.partition()),
|
partition_(rhs.partition()),
|
||||||
#if (RD_KAFKA_VERSION >= RD_KAFKA_HEADERS_SUPPORT_VERSION)
|
#if (RD_KAFKA_VERSION >= RD_KAFKA_HEADERS_SUPPORT_VERSION)
|
||||||
header_list_(rhs.header_list() ?
|
header_list_(rhs.header_list() ?
|
||||||
rd_kafka_headers_copy(rhs.header_list().get_handle()) : nullptr), //copy headers
|
HeaderListType(rd_kafka_headers_copy(rhs.header_list().get_handle())) : HeaderListType()), //copy headers
|
||||||
#endif
|
#endif
|
||||||
timestamp_(rhs.timestamp()),
|
timestamp_(rhs.timestamp()),
|
||||||
user_data_(rhs.user_data()),
|
user_data_(rhs.user_data()),
|
||||||
@@ -278,7 +278,7 @@ BasicMessageBuilder<T, C>::BasicMessageBuilder(BasicMessageBuilder<U, V>&& rhs)
|
|||||||
partition_(rhs.partition()),
|
partition_(rhs.partition()),
|
||||||
#if (RD_KAFKA_VERSION >= RD_KAFKA_HEADERS_SUPPORT_VERSION)
|
#if (RD_KAFKA_VERSION >= RD_KAFKA_HEADERS_SUPPORT_VERSION)
|
||||||
header_list_(rhs.header_list() ?
|
header_list_(rhs.header_list() ?
|
||||||
rhs.header_list().release_handle() : nullptr), //assume header ownership
|
HeaderListType(rhs.header_list().release_handle()) : HeaderListType()), //assume header ownership
|
||||||
#endif
|
#endif
|
||||||
timestamp_(rhs.timestamp()),
|
timestamp_(rhs.timestamp()),
|
||||||
user_data_(rhs.user_data()),
|
user_data_(rhs.user_data()),
|
||||||
|
|||||||
Reference in New Issue
Block a user