userver: kafka::Message Class Reference
Loading...
Searching...
No Matches
kafka::Message Class Referencefinal

#include <userver/kafka/message.hpp>

Detailed Description

Wrapper for polled message data access.

Definition at line 23 of file message.hpp.

Public Member Functions

 Message (Message &&) noexcept
 
Messageoperator= (Message &&) noexcept=delete
 
 Message (const Message &)=delete
 
Messageoperator= (const Message &)=delete
 
const std::string & GetTopic () const
 
std::string_view GetKey () const
 
std::string_view GetPayload () const
 
std::optional< std::chrono::milliseconds > GetTimestamp () const
 
int GetPartition () const
 
std::int64_t GetOffset () const
 
HeadersReader GetHeaders () const &
 
HeadersReader GetHeaders () &&=delete
 
std::optional< std::string_view > GetHeader (utils::NullTerminatedView name) const
 Returns last header with given name.
 

Member Function Documentation

◆ GetHeader()

std::optional< std::string_view > kafka::Message::GetHeader ( utils::NullTerminatedView name) const

Returns last header with given name.

Warning
This operation has O(N) complexity, where N == number of all message headers.

◆ GetHeaders()

HeadersReader kafka::Message::GetHeaders ( ) const &
Note
Headers are parsed only when accessed first time.

If name name passed, only headers with such name returns

Usage example:

  • All headers:
    for (auto header : message.GetHeaders()) { /* use ...header... */}
  • Start own headers
    auto reader = message.GetHeaders();
    auto headers = std::vector<kafka::OwningHeader>{reader.begin(), reader.end()};

The documentation for this class was generated from the following file: