Allow making no key/payload copies in BufferedProducer

This commit is contained in:
Matias Fontanini
2017-04-16 10:13:14 -07:00
parent f781afe5cf
commit f924eb68e7
3 changed files with 63 additions and 7 deletions

View File

@@ -108,11 +108,21 @@ public:
*/
const BufferType& key() const;
/**
* Gets the message's key
*/
BufferType& key();
/**
* Gets the message's payload
*/
const BufferType& payload() const;
/**
* Gets the message's payload
*/
BufferType& payload();
/**
* Gets the message's user data pointer
*/
@@ -183,11 +193,21 @@ const T& BasicMessageBuilder<T, C>::key() const {
return key_;
}
template <typename T, typename C>
T& BasicMessageBuilder<T, C>::key() {
return key_;
}
template <typename T, typename C>
const T& BasicMessageBuilder<T, C>::payload() const {
return payload_;
}
template <typename T, typename C>
T& BasicMessageBuilder<T, C>::payload() {
return payload_;
}
template <typename T, typename C>
void* BasicMessageBuilder<T, C>::user_data() const {
return user_data_;