mirror of
https://github.com/Telecominfraproject/wlan-cloud-lib-cppkafka.git
synced 2025-11-01 19:18:04 +00:00
065f899954ac92ae4f814f2fd1d6d21894c3ab5b
cppkafka
High level C++ wrapper for rdkafka
Still in development!
Features
-
cppkafka is a high level C++ wrapper for rdkafka, aiming at allowing to use rdkafka in a simple, less error prone way.
-
cppkafka provides an API to produce messages as well as consuming messages, but the latter is only supported via the high level consumer API. cppkafka requires rdkakfa >= 0.9.1 in order to use it. Other wrapped functionalities are also provided, like fetching metadata, offsets, etc.
It's simple!
cppkafka's API is simple. For example, this code creates a producer writes a message into some partition:
#include <cppkafka/producer.h>
using namespace std;
using namespace cppkafka;
int main() {
// Create the config
Configuration config = {
{ "metadata.broker.list", "127.0.0.1:9092" }
};
// Create the producer
Producer producer(config);
// Get the topic we'll write into
Topic topic = producer.get_topic("my_topic");
// Produce a message!
string message = "hey there!";
producer.produce(topic, 0 /*partition*/, message);
}
Compiling
In order to compile cppkafka you need:
- rdkafka >= 0.9.1
- CMake
- A compiler with good C++11 support (e.g. gcc >= 4.8). This was tested successfully on g++ 4.8.3.
- The boost library. cppkafka only requires boost.optional, which is a header only library, so this doesn't add any additional runtime dependencies.
Now, in order to build, just run:
mkdir build
cd build
cmake ..
make
Using
If you want to use cppkafka, you'll need to link your application with:
- cppkafka
- rdkafka
Description
Languages
C++
94.4%
CMake
3.8%
C
1.8%