ewmscp  ..
kafkaQueue.h
Go to the documentation of this file.
1 #ifndef __kafkaQueue_h__
2 #define __kafkaQueue_h__
3 
4 #include "messageQueue.h"
5 #include <Options.h>
6 #include <memory>
7 namespace RdKafka { // for forward decls;
8  class Topic;
9  class Producer;
10  class Consumer;
11  class Conf;
12 }
13 namespace messageQueue {
14  class kafka: public queue {
15  private:
16  std::map<std::string, std::unique_ptr<RdKafka::Topic>> topics;
17  RdKafka::Producer* producer;
18  RdKafka::Consumer* consumer;
19  RdKafka::Conf *tconf;
23  public:
24  kafka(const std::string& aName);
25  void init(bool isConsumer = false);
26  ~kafka() override;
27  void send(const std::string& aMessage,
28  const std::string& aTopic = "") override;
29  std::string receive(std::chrono::system_clock::duration timeout) override;
30  bool isSenderConfigured() const override;
31  bool isReceiverConfigured() const override;
32  };
33 } // end namespace messageQueue
34 #endif
options::single< std::string >
messageQueue::kafka::send
void send(const std::string &aMessage, const std::string &aTopic="") override
Definition: kafkaQueue.cpp:59
messageQueue::kafka::producer
RdKafka::Producer * producer
Definition: kafkaQueue.h:17
RdKafka
Definition: kafkaQueue.h:7
messageQueue::kafka
Definition: kafkaQueue.h:14
messageQueue::kafka::isReceiverConfigured
bool isReceiverConfigured() const override
Definition: kafkaQueue.cpp:106
messageQueue::kafka::kafka
kafka(const std::string &aName)
Definition: kafkaQueue.cpp:6
Options.h
options::map< std::string >
messageQueue::kafka::init
void init(bool isConsumer=false)
Definition: kafkaQueue.cpp:14
messageQueue::kafka::topicCfgStrings
options::map< std::string > topicCfgStrings
Definition: kafkaQueue.h:22
messageQueue::kafka::~kafka
~kafka() override
Definition: kafkaQueue.cpp:49
messageQueue.h
messageQueue::kafka::tconf
RdKafka::Conf * tconf
Definition: kafkaQueue.h:19
messageQueue::kafka::topics
std::map< std::string, std::unique_ptr< RdKafka::Topic > > topics
Definition: kafkaQueue.h:16
messageQueue::kafka::topicName
options::single< std::string > topicName
Definition: kafkaQueue.h:20
messageQueue::kafka::isSenderConfigured
bool isSenderConfigured() const override
Definition: kafkaQueue.cpp:103
messageQueue::queue
Definition: messageQueue.h:8
messageQueue::kafka::receive
std::string receive(std::chrono::system_clock::duration timeout) override
Definition: kafkaQueue.cpp:84
messageQueue::kafka::producerCfgStrings
options::map< std::string > producerCfgStrings
Definition: kafkaQueue.h:21
messageQueue::kafka::consumer
RdKafka::Consumer * consumer
Definition: kafkaQueue.h:18
messageQueue
Definition: kafkaQueue.cpp:5