#include <CallbackAdapter.hpp>
Definition at line 24 of file CallbackAdapter.hpp.
◆ CallbackAdapter()
dunedaq::ipm::CallbackAdapter::CallbackAdapter |
( |
| ) |
|
|
default |
◆ ~CallbackAdapter()
dunedaq::ipm::CallbackAdapter::~CallbackAdapter |
( |
| ) |
|
|
virtualnoexcept |
Definition at line 19 of file CallbackAdapter.cpp.
20{
21 {
24 }
27}
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 66 of file CallbackAdapter.cpp.
67{
70
73}
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 88 of file CallbackAdapter.cpp.
89{
90 do {
91 try {
93
94 TLOG_DEBUG(25) <<
"Received " <<
response.data.size() <<
" bytes. Dispatching to callback.";
95 {
99 }
100 }
101 } catch (ipm::ReceiveTimeoutExpired const& tmo) {
102 usleep(10000);
103 }
106}
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: