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 &receiver_connection_name)
std::optional< TypeErasedPayloadtry_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.

Detailed Description

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

Definition at line 20 of file GenericReceiverModel.hpp.

Constructor & Destructor Documentation

◆ GenericReceiverModel()

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

Definition at line 23 of file GenericReceiverModel.hpp.

25 {}
std::shared_ptr< iomanager::ReceiverConcept< TargetPayloadType > > m_receiver
Generic IOManager Receiver.

Member Function Documentation

◆ try_receive()

template<class TargetPayloadType>
std::optional< TypeErasedPayload > dunedaq::asiolibs::GenericReceiverModel< TargetPayloadType >::try_receive ( dunedaq::iomanager::Receiver::timeout_t timeout)
inlineoverridevirtual

Implements dunedaq::asiolibs::GenericReceiverConcept.

Definition at line 27 of file GenericReceiverModel.hpp.

27 {
28 auto opt_payload = m_receiver->try_receive(timeout);
29 if (opt_payload) {
30 // Allocate the received payload on the heap with shared ownership,
31 // so its lifetime can outlive this function and be tied to async sends.
34 }
35 return std::nullopt;
36 }

Member Data Documentation

◆ m_receiver

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

Generic IOManager Receiver.

Definition at line 42 of file GenericReceiverModel.hpp.


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