#include <Sender.hpp>
Definition at line 69 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 43 of file Sender.cpp.
44{
45
46 opmon::SenderInfo i;
47
48 i.set_bytes(
m_bytes.exchange(0));
50
52}
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 16 of file Sender.cpp.
21{
22 if (message_size == 0) {
23 return true;
24 }
25
27 throw KnownStateForbidsSend(
ERS_HERE);
28 }
29
30 if (!message) {
31 throw NullPointerPassedToSend(
ERS_HERE);
32 }
33
34 auto res =
send_(message, message_size, timeout, metadata, no_tmoexcept_mode);
35
38
39 return res;
40}
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