#include <Receiver.hpp>
Definition at line 71 of file Receiver.hpp.
◆ duration_t
◆ message_size_t
◆ Receiver() [1/3]
dunedaq::ipm::Receiver::Receiver |
( |
| ) |
|
|
default |
◆ ~Receiver()
virtual dunedaq::ipm::Receiver::~Receiver |
( |
| ) |
|
|
virtualdefault |
◆ Receiver() [2/3]
dunedaq::ipm::Receiver::Receiver |
( |
const Receiver & | | ) |
|
|
delete |
◆ Receiver() [3/3]
dunedaq::ipm::Receiver::Receiver |
( |
Receiver && | | ) |
|
|
delete |
◆ can_receive()
virtual bool dunedaq::ipm::Receiver::can_receive |
( |
| ) |
const |
|
pure virtualnoexcept |
◆ connect_for_receives()
virtual std::string dunedaq::ipm::Receiver::connect_for_receives |
( |
const nlohmann::json & | connection_info | ) |
|
|
pure virtual |
◆ generate_opmon_data()
void dunedaq::ipm::Receiver::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 34 of file Receiver.cpp.
35{
36
37 opmon::ReceiverInfo i;
38
39 i.set_bytes(
m_bytes.exchange(0));
41
43}
std::atomic< size_t > m_bytes
std::atomic< size_t > m_messages
void publish(google::protobuf::Message &&, CustomOrigin &&co={}, OpMonLevel l=to_level(EntryOpMonLevel::kDefault)) const noexcept
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ receive()
Definition at line 13 of file Receiver.cpp.
14{
16 throw KnownStateForbidsReceive(
ERS_HERE);
17 }
18 auto message =
receive_(timeout, no_tmoexcept_mode);
19
21 auto received_size =
static_cast<message_size_t>(message.data.size());
22 if (received_size != bytes) {
23 throw UnexpectedNumberOfBytes(
ERS_HERE, received_size, bytes);
24 }
25 }
26
29
31}
static constexpr message_size_t s_any_size
virtual Response receive_(const duration_t &timeout, bool no_tmoexcept_mode)=0
virtual bool can_receive() const noexcept=0
Unknown serialization Cannot deserialize message
◆ receive_()
virtual Response dunedaq::ipm::Receiver::receive_ |
( |
const duration_t & | timeout, |
|
|
bool | no_tmoexcept_mode ) |
|
protectedpure virtual |
◆ register_callback()
virtual void dunedaq::ipm::Receiver::register_callback |
( |
std::function< void(Response &)> | | ) |
|
|
pure virtual |
◆ unregister_callback()
virtual void dunedaq::ipm::Receiver::unregister_callback |
( |
| ) |
|
|
pure virtual |
◆ m_bytes
std::atomic<size_t> dunedaq::ipm::Receiver::m_bytes = { 0 } |
|
mutableprivate |
◆ m_messages
std::atomic<size_t> dunedaq::ipm::Receiver::m_messages = { 0 } |
|
mutableprivate |
◆ s_any_size
◆ s_block
duration_t dunedaq::ipm::Receiver::s_block = duration_t::max() |
|
staticconstexpr |
◆ s_no_block
duration_t dunedaq::ipm::Receiver::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/Receiver.hpp
- /github/workspace/dunedaq/sourcecode/ipm/src/Receiver.cpp