DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
erskafka
src
ProtoBufStream.cpp
Go to the documentation of this file.
1
8
9
#include "
ProtoBufStream.hpp
"
10
#include <
ers/StreamFactory.hpp
>
11
#include <string>
12
#include <iostream>
13
#include <chrono>
14
#include <boost/crc.hpp>
15
#include <vector>
16
17
ERS_REGISTER_OUTPUT_STREAM
(
erskafka::ProtoBufStream
,
"protobufstream"
, param)
18
19
22
namespace
erskafka
23
{
24
erskafka::ProtoBufStream::ProtoBufStream
(
const
std::string ¶m)
25
:
m_session
(
"Uknown"
)
26
,
m_application
(
"Uknown"
) {
27
28
nlohmann::json conf;
29
conf[
"bootstrap"
] = param;
30
31
m_publisher
= std::make_unique<dunedaq::erskafka::ERSPublisher>(conf);
32
33
if
(
auto
env_p = std::getenv(
"DUNEDAQ_SESSION"
))
34
m_session
= env_p;
35
36
if
(
auto
app_p = std::getenv(
"DUNEDAQ_APPLICATION_NAME"
))
37
m_application
= app_p;
38
}
39
40
44
void
erskafka::ProtoBufStream::write
(
const
ers::Issue
&issue)
45
{
46
try
{
47
48
auto
schema = to_schema_chain(issue);
49
schema.set_session(
m_session
);
50
schema.set_application(
m_application
);
51
m_publisher
-> publish(std::move(schema)) ;
52
53
}
54
catch
(
const
std::exception& e)
55
{
56
std::cerr <<
"Producer error : "
<< e.what() <<
'\n'
;
57
}
58
}
59
}
// namespace erskafka
ProtoBufStream.hpp
StreamFactory.hpp
ers::Issue
Base class for any user define issue.
Definition
Issue.hpp:80
erskafka::ProtoBufStream
ERS stream implementation.
Definition
ProtoBufStream.hpp:31
erskafka::ProtoBufStream::ProtoBufStream
ProtoBufStream(const std::string ¶m)
Definition
ProtoBufStream.cpp:24
erskafka::ProtoBufStream::m_publisher
std::unique_ptr< dunedaq::erskafka::ERSPublisher > m_publisher
Definition
ProtoBufStream.hpp:37
erskafka::ProtoBufStream::write
void write(const ers::Issue &issue) override
Definition
ProtoBufStream.cpp:44
erskafka::ProtoBufStream::m_application
std::string m_application
Definition
ProtoBufStream.hpp:39
erskafka::ProtoBufStream::m_session
std::string m_session
Definition
ProtoBufStream.hpp:38
ERS_REGISTER_OUTPUT_STREAM
#define ERS_REGISTER_OUTPUT_STREAM(class, name, param)
Definition
macro.hpp:27
erskafka
Definition
KafkaStream.cpp:23
Generated on
for DUNE-DAQ by
1.17.0