#include <Sender.hpp>
Definition at line 72 of file Sender.hpp.
◆ duration_t
◆ message_size_t
◆ Sender() [1/3]
dunedaq::ipm::Sender::Sender |
( |
| ) |
|
|
default |
◆ ~Sender()
virtual dunedaq::ipm::Sender::~Sender |
( |
| ) |
|
|
virtualdefault |
◆ Sender() [2/3]
dunedaq::ipm::Sender::Sender |
( |
const Sender & | | ) |
|
|
delete |
◆ Sender() [3/3]
dunedaq::ipm::Sender::Sender |
( |
Sender && | | ) |
|
|
delete |
◆ can_send()
virtual bool dunedaq::ipm::Sender::can_send |
( |
| ) |
const |
|
pure virtualnoexcept |
◆ connect_for_sends()
virtual std::string dunedaq::ipm::Sender::connect_for_sends |
( |
const nlohmann::json & | connection_info | ) |
|
|
pure virtual |
◆ generate_opmon_data()
void dunedaq::ipm::Sender::generate_opmon_data |
( |
| ) |
|
|
overrideprotectedvirtual |
Hook for customisable pubblication. The function can throw, exception will be caught by the monitoring thread
Reimplemented from dunedaq::opmonlib::MonitorableObject.
Definition at line 44 of file Sender.cpp.
45{
46
47 opmon::SenderInfo i;
48
49 i.set_bytes(
m_bytes.exchange(0));
51
53}
std::atomic< size_t > m_messages
std::atomic< size_t > m_bytes
void publish(google::protobuf::Message &&, CustomOrigin &&co={}, OpMonLevel l=to_level(EntryOpMonLevel::kDefault)) const noexcept
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ send()
bool dunedaq::ipm::Sender::send |
( |
const void * | message, |
|
|
message_size_t | message_size, |
|
|
const duration_t & | timeout, |
|
|
std::string const & | metadata = "", |
|
|
bool | no_tmoexcept_mode = false ) |
Definition at line 17 of file Sender.cpp.
22{
23 if (message_size == 0) {
24 return true;
25 }
26
28 throw KnownStateForbidsSend(
ERS_HERE);
29 }
30
31 if (!message) {
32 throw NullPointerPassedToSend(
ERS_HERE);
33 }
34
35 auto res =
send_(message, message_size, timeout, metadata, no_tmoexcept_mode);
36
39
40 return res;
41}
virtual bool send_(const void *message, message_size_t N, const duration_t &timeout, std::string const &metadata, bool no_tmoexcept_mode)=0
virtual bool can_send() const noexcept=0
◆ send_()
virtual bool dunedaq::ipm::Sender::send_ |
( |
const void * | message, |
|
|
message_size_t | N, |
|
|
const duration_t & | timeout, |
|
|
std::string const & | metadata, |
|
|
bool | no_tmoexcept_mode ) |
|
protectedpure virtual |
◆ m_bytes
std::atomic<size_t> dunedaq::ipm::Sender::m_bytes = { 0 } |
|
mutableprivate |
◆ m_messages
std::atomic<size_t> dunedaq::ipm::Sender::m_messages = { 0 } |
|
mutableprivate |
◆ s_block
duration_t dunedaq::ipm::Sender::s_block = duration_t::max() |
|
staticconstexpr |
◆ s_no_block
duration_t dunedaq::ipm::Sender::s_no_block = duration_t::zero() |
|
staticconstexpr |
The documentation for this class was generated from the following files:
- /github/workspace/dunedaq/sourcecode/ipm/include/ipm/Sender.hpp
- /github/workspace/dunedaq/sourcecode/ipm/src/Sender.cpp