#include <CallbackAdapter.hpp>
Definition at line 26 of file CallbackAdapter.hpp.
◆ CallbackAdapter()
dunedaq::ipm::CallbackAdapter::CallbackAdapter |
( |
| ) |
|
|
default |
◆ ~CallbackAdapter()
dunedaq::ipm::CallbackAdapter::~CallbackAdapter |
( |
| ) |
|
|
virtualnoexcept |
Definition at line 20 of file CallbackAdapter.cpp.
21{
22 {
25 }
28}
std::function< void(Receiver::Response &)> m_callback
Receiver * m_receiver_ptr
std::mutex m_callback_mutex
◆ clear_callback()
void dunedaq::ipm::CallbackAdapter::clear_callback |
( |
| ) |
|
◆ set_callback()
void dunedaq::ipm::CallbackAdapter::set_callback |
( |
std::function< void(Receiver::Response &)> | callback | ) |
|
◆ set_receiver()
void dunedaq::ipm::CallbackAdapter::set_receiver |
( |
Receiver * | receiver_ptr | ) |
|
◆ shutdown()
void dunedaq::ipm::CallbackAdapter::shutdown |
( |
| ) |
|
|
private |
Definition at line 67 of file CallbackAdapter.cpp.
68{
71
74}
std::unique_ptr< std::thread > m_thread
std::atomic< bool > m_is_listening
◆ startup()
void dunedaq::ipm::CallbackAdapter::startup |
( |
| ) |
|
|
private |
◆ thread_loop()
void dunedaq::ipm::CallbackAdapter::thread_loop |
( |
| ) |
|
|
private |
Definition at line 89 of file CallbackAdapter.cpp.
90{
91 do {
92 try {
94
95 TLOG_DEBUG(45) <<
"Received " <<
response.data.size() <<
" bytes. Dispatching to callback.";
96 {
100 }
101 }
102 } catch (ipm::ReceiveTimeoutExpired const& tmo) {
103 usleep(10000);
104 }
107}
static constexpr duration_t s_no_block
Response receive(const duration_t &timeout, message_size_t num_bytes=s_any_size, bool no_tmoexcept_mode=false)
#define TLOG_DEBUG(lvl,...)
◆ m_callback
std::function<void(Receiver::Response&)> dunedaq::ipm::CallbackAdapter::m_callback { nullptr } |
|
private |
◆ m_callback_mutex
std::mutex dunedaq::ipm::CallbackAdapter::m_callback_mutex |
|
mutableprivate |
◆ m_is_listening
std::atomic<bool> dunedaq::ipm::CallbackAdapter::m_is_listening { false } |
|
private |
◆ m_receiver_ptr
Receiver* dunedaq::ipm::CallbackAdapter::m_receiver_ptr { nullptr } |
|
private |
◆ m_thread
std::unique_ptr<std::thread> dunedaq::ipm::CallbackAdapter::m_thread { nullptr } |
|
private |
The documentation for this class was generated from the following files: