DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::asiolibs::GenericReceiverModel< TargetPayloadType > Class Template Reference

#include <GenericReceiverModel.hpp>

Inheritance diagram for dunedaq::asiolibs::GenericReceiverModel< TargetPayloadType >:
[legend]
Collaboration diagram for dunedaq::asiolibs::GenericReceiverModel< TargetPayloadType >:
[legend]

Public Member Functions

 GenericReceiverModel (const std::string &raw_data_receiver_connection_name)
 
std::optional< std::pair< const void *, std::size_t > > try_receive (dunedaq::iomanager::Receiver::timeout_t timeout) override
 
- Public Member Functions inherited from dunedaq::asiolibs::GenericReceiverConcept
virtual ~GenericReceiverConcept ()=default
 

Private Attributes

std::shared_ptr< iomanager::ReceiverConcept< TargetPayloadType > > m_receiver
 Generic IOManager Receiver.
 
TargetPayloadType m_received
 Last received payload.
 

Detailed Description

template<class TargetPayloadType>
class dunedaq::asiolibs::GenericReceiverModel< TargetPayloadType >

Definition at line 16 of file GenericReceiverModel.hpp.

Constructor & Destructor Documentation

◆ GenericReceiverModel()

template<class TargetPayloadType >
dunedaq::asiolibs::GenericReceiverModel< TargetPayloadType >::GenericReceiverModel ( const std::string & raw_data_receiver_connection_name)
inlineexplicit

Definition at line 19 of file GenericReceiverModel.hpp.

20 : m_receiver(get_iom_receiver<TargetPayloadType>(raw_data_receiver_connection_name))
21 {}
std::shared_ptr< iomanager::ReceiverConcept< TargetPayloadType > > m_receiver
Generic IOManager Receiver.
static std::shared_ptr< iomanager::ReceiverConcept< Datatype > > get_iom_receiver(iomanager::ConnectionId const &id)

Member Function Documentation

◆ try_receive()

template<class TargetPayloadType >
std::optional< std::pair< const void *, std::size_t > > dunedaq::asiolibs::GenericReceiverModel< TargetPayloadType >::try_receive ( dunedaq::iomanager::Receiver::timeout_t timeout)
inlineoverridevirtual

Implements dunedaq::asiolibs::GenericReceiverConcept.

Definition at line 23 of file GenericReceiverModel.hpp.

23 {
24 auto opt_payload = m_receiver->try_receive(timeout);
25 if (opt_payload) {
26 m_received = std::move(*opt_payload);
27 return std::make_pair(&m_received, sizeof(TargetPayloadType));
28 }
29 return std::nullopt;
30 }
TargetPayloadType m_received
Last received payload.

Member Data Documentation

◆ m_received

template<class TargetPayloadType >
TargetPayloadType dunedaq::asiolibs::GenericReceiverModel< TargetPayloadType >::m_received
private

Last received payload.

Definition at line 41 of file GenericReceiverModel.hpp.

◆ m_receiver

template<class TargetPayloadType >
std::shared_ptr<iomanager::ReceiverConcept<TargetPayloadType> > dunedaq::asiolibs::GenericReceiverModel< TargetPayloadType >::m_receiver
private

Generic IOManager Receiver.

Definition at line 36 of file GenericReceiverModel.hpp.


The documentation for this class was generated from the following file: