DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
erskafka
include
erskafka
ERSPublisher.hpp
Go to the documentation of this file.
1
10
11
#ifndef ERSKAFKA_INCLUDE_ERSKAFKA_ERSPUBLISHER_HPP_
12
#define ERSKAFKA_INCLUDE_ERSKAFKA_ERSPUBLISHER_HPP_
13
14
#include "nlohmann/json.hpp"
15
16
#include <librdkafka/rdkafkacpp.h>
17
18
#include <memory>
19
#include <string>
20
21
#include "
ers/Schema.hpp
"
22
23
namespace
dunedaq
{
24
25
namespace
erskafka
{
26
27
class
ERSPublisher
28
{
29
30
public
:
31
ERSPublisher
(
const
nlohmann::json& conf);
32
33
ERSPublisher
() =
delete
;
34
ERSPublisher
(
const
ERSPublisher
&) =
delete
;
35
ERSPublisher
&
operator=
(
const
ERSPublisher
&) =
delete
;
36
ERSPublisher
(
ERSPublisher
&&) =
delete
;
37
ERSPublisher
&
operator=
(
ERSPublisher
&&) =
delete
;
38
39
~ERSPublisher
() { ; }
40
41
bool
publish
(
dunedaq::ersschema::IssueChain
&&)
const
;
42
// template<class Iterator>
43
// bool publish( Iterator begin, Iterator end) const;
44
45
protected
:
46
std::string
topic
(
const
dunedaq::ersschema::IssueChain
&)
const
{
return
m_default_topic
; }
47
48
std::string
key
(
const
dunedaq::ersschema::IssueChain
& i)
const
{
return
i.
session
(); }
49
50
private
:
51
std::unique_ptr<RdKafka::Producer>
m_producer
;
52
std::string
m_default_topic
=
"monitoring.ers_stream"
;
53
};
54
}
// erskafka namespace
55
}
// dunedaq namespace
56
57
#endif
// ERSKAFKA_INCLUDE_ERSKAFKA_ERSPUBLISHER_HPP_
dunedaq::erskafka::ERSPublisher::ERSPublisher
ERSPublisher()=delete
dunedaq::erskafka::ERSPublisher::publish
bool publish(dunedaq::ersschema::IssueChain &&) const
dunedaq::erskafka::ERSPublisher::operator=
ERSPublisher & operator=(const ERSPublisher &)=delete
dunedaq::erskafka::ERSPublisher::operator=
ERSPublisher & operator=(ERSPublisher &&)=delete
dunedaq::erskafka::ERSPublisher::m_producer
std::unique_ptr< RdKafka::Producer > m_producer
Definition
ERSPublisher.hpp:51
dunedaq::erskafka::ERSPublisher::~ERSPublisher
~ERSPublisher()
Definition
ERSPublisher.hpp:39
dunedaq::erskafka::ERSPublisher::ERSPublisher
ERSPublisher(const ERSPublisher &)=delete
dunedaq::erskafka::ERSPublisher::ERSPublisher
ERSPublisher(const nlohmann::json &conf)
dunedaq::erskafka::ERSPublisher::ERSPublisher
ERSPublisher(ERSPublisher &&)=delete
dunedaq::erskafka::ERSPublisher::m_default_topic
std::string m_default_topic
Definition
ERSPublisher.hpp:52
dunedaq::erskafka::ERSPublisher::key
std::string key(const dunedaq::ersschema::IssueChain &i) const
Definition
ERSPublisher.hpp:48
dunedaq::erskafka::ERSPublisher::topic
std::string topic(const dunedaq::ersschema::IssueChain &) const
Definition
ERSPublisher.hpp:46
dunedaq::ersschema::IssueChain
Definition
issue.pb.h:718
dunedaq::ersschema::IssueChain::session
const std::string & session() const
Definition
issue.pb.h:1966
Schema.hpp
ERSPublisher
Definition
ERSPublisher.py:1
dunedaq
The DUNE-DAQ namespace.
Definition
cib_utilities.cpp:5
erskafka
Definition
KafkaStream.cpp:22
Generated on
for DUNE-DAQ by
1.18.0