DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <NetworkReceiverModel.hpp>
Public Member Functions | |
NetworkReceiverModel (ConnectionId const &conn_id) | |
~NetworkReceiverModel () | |
NetworkReceiverModel (NetworkReceiverModel &&other) | |
Datatype | receive (Receiver::timeout_t timeout) override |
std::optional< Datatype > | try_receive (Receiver::timeout_t timeout) override |
void | add_callback (std::function< void(Datatype &)> callback) override |
void | remove_callback () override |
void | subscribe (std::string topic) override |
void | unsubscribe (std::string topic) override |
![]() | |
ReceiverConcept (ConnectionId const &conn_id) | |
![]() | |
Receiver (ConnectionId const &this_conn) | |
virtual | ~Receiver ()=default |
ConnectionId | id () const |
![]() | |
NamedObject (const std::string &name) | |
NamedObject Constructor. | |
NamedObject (NamedObject const &)=delete | |
NamedObject is not copy-constructible. | |
NamedObject (NamedObject &&)=default | |
NamedObject is move-constructible. | |
NamedObject & | operator= (NamedObject const &)=delete |
NamedObject is not copy-assignable. | |
NamedObject & | operator= (NamedObject &&)=default |
NamedObject is move-assignable. | |
virtual | ~NamedObject ()=default |
Default virtual destructor. | |
const std::string & | get_name () const final |
Get the name of this NamedObejct. | |
![]() | |
Named ()=default | |
Named Constructor. | |
Named (Named const &)=delete | |
Named is not copy-constructible. | |
Named (Named &&)=default | |
Named is move-constructible. | |
Named & | operator= (Named const &)=delete |
Named is not copy-assignable. | |
Named & | operator= (Named &&)=default |
Named is move-assignable. | |
virtual | ~Named ()=default |
Default virtual destructor. | |
Private Member Functions | |
void | get_receiver (Receiver::timeout_t timeout) |
template<typename MessageType > | |
std::enable_if< dunedaq::serialization::is_serializable< MessageType >::value, MessageType >::type | read_network (Receiver::timeout_t const &timeout) |
template<typename MessageType > | |
std::enable_if<!dunedaq::serialization::is_serializable< MessageType >::value, MessageType >::type | read_network (Receiver::timeout_t const &) |
template<typename MessageType > | |
std::enable_if< dunedaq::serialization::is_serializable< MessageType >::value, std::optional< MessageType > >::type | try_read_network (Receiver::timeout_t const &timeout) |
template<typename MessageType > | |
std::enable_if<!dunedaq::serialization::is_serializable< MessageType >::value, std::optional< MessageType > >::type | try_read_network (Receiver::timeout_t const &) |
template<typename MessageType > | |
std::enable_if< dunedaq::serialization::is_serializable< MessageType >::value, void >::type | add_callback_impl (std::function< void(MessageType &)> callback) |
template<typename MessageType > | |
std::enable_if<!dunedaq::serialization::is_serializable< MessageType >::value, void >::type | add_callback_impl (std::function< void(MessageType &)>) |
Private Attributes | |
std::atomic< bool > | m_with_callback { false } |
std::function< void(Datatype &)> | m_callback |
std::unique_ptr< std::thread > | m_event_loop_runner |
std::shared_ptr< ipm::Receiver > | m_network_receiver_ptr { nullptr } |
std::mutex | m_callback_mutex |
std::mutex | m_receive_mutex |
Additional Inherited Members | |
![]() | |
using | timeout_t = std::chrono::milliseconds |
![]() | |
static constexpr timeout_t | s_block = timeout_t::max() |
static constexpr timeout_t | s_no_block = timeout_t::zero() |
![]() | |
ConnectionId | m_conn |
Definition at line 24 of file NetworkReceiverModel.hpp.
|
inlineexplicit |
Definition at line 23 of file NetworkReceiverModel.hxx.
|
inline |
Definition at line 28 of file NetworkReceiverModel.hpp.
|
inline |
Definition at line 35 of file NetworkReceiverModel.hxx.
|
inlineoverridevirtual |
Implements dunedaq::iomanager::ReceiverConcept< Datatype >.
Definition at line 38 of file NetworkReceiverModel.hpp.
|
inlineprivate |
Definition at line 172 of file NetworkReceiverModel.hxx.
|
private |
|
inlineprivate |
Definition at line 90 of file NetworkReceiverModel.hxx.
|
private |
|
inlineprivate |
Definition at line 109 of file NetworkReceiverModel.hxx.
|
inlineoverridevirtual |
Implements dunedaq::iomanager::ReceiverConcept< Datatype >.
Definition at line 46 of file NetworkReceiverModel.hxx.
|
inlineoverridevirtual |
Implements dunedaq::iomanager::ReceiverConcept< Datatype >.
Definition at line 57 of file NetworkReceiverModel.hxx.
|
inlineoverridevirtual |
Implements dunedaq::iomanager::ReceiverConcept< Datatype >.
Definition at line 72 of file NetworkReceiverModel.hxx.
|
private |
|
inlineprivate |
Definition at line 140 of file NetworkReceiverModel.hxx.
|
inlineoverridevirtual |
Implements dunedaq::iomanager::ReceiverConcept< Datatype >.
Definition at line 34 of file NetworkReceiverModel.hpp.
|
inlineoverridevirtual |
Implements dunedaq::iomanager::ReceiverConcept< Datatype >.
Definition at line 81 of file NetworkReceiverModel.hxx.
|
private |
Definition at line 74 of file NetworkReceiverModel.hpp.
|
private |
Definition at line 77 of file NetworkReceiverModel.hpp.
|
private |
Definition at line 75 of file NetworkReceiverModel.hpp.
|
private |
Definition at line 76 of file NetworkReceiverModel.hpp.
|
private |
Definition at line 78 of file NetworkReceiverModel.hpp.
|
private |
Definition at line 73 of file NetworkReceiverModel.hpp.