DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
asiolibs
src
GenericReceiverConcept.hpp
Go to the documentation of this file.
1
8
#ifndef ASIOLIBS_SRC_GENERICRECEIVERCONCEPT_HPP_
9
#define ASIOLIBS_SRC_GENERICRECEIVERCONCEPT_HPP_
10
11
#include "
iomanager/Receiver.hpp
"
12
13
#include <memory>
14
15
namespace
dunedaq::asiolibs
{
16
17
class
GenericReceiverConcept
18
{
19
public
:
20
struct
TypeErasedPayload
{
24
std::shared_ptr<const void>
owner
;
28
const
void
*
data
;
32
std::size_t
size
;
33
};
34
35
virtual
~GenericReceiverConcept
() =
default
;
36
virtual
std::optional<TypeErasedPayload>
try_receive
(
dunedaq::iomanager::Receiver::timeout_t
timeout) = 0;
37
};
38
39
}
// namespace dunedaq::asiolibs
40
41
#endif
// ASIOLIBS_SRC_GENERICRECEIVERCONCEPT_HPP_
dunedaq::asiolibs::GenericReceiverConcept
Definition
GenericReceiverConcept.hpp:18
dunedaq::asiolibs::GenericReceiverConcept::~GenericReceiverConcept
virtual ~GenericReceiverConcept()=default
dunedaq::asiolibs::GenericReceiverConcept::try_receive
virtual std::optional< TypeErasedPayload > try_receive(dunedaq::iomanager::Receiver::timeout_t timeout)=0
dunedaq::iomanager::Receiver::timeout_t
std::chrono::milliseconds timeout_t
Definition
Receiver.hpp:27
Receiver.hpp
dunedaq::asiolibs
Definition
CreateGenericReceiver.hpp:25
dunedaq::asiolibs::GenericReceiverConcept::TypeErasedPayload
Definition
GenericReceiverConcept.hpp:20
dunedaq::asiolibs::GenericReceiverConcept::TypeErasedPayload::data
const void * data
Pointer to payload bytes.
Definition
GenericReceiverConcept.hpp:28
dunedaq::asiolibs::GenericReceiverConcept::TypeErasedPayload::owner
std::shared_ptr< const void > owner
Keeps the payload's memory alive.
Definition
GenericReceiverConcept.hpp:24
dunedaq::asiolibs::GenericReceiverConcept::TypeErasedPayload::size
std::size_t size
Number of bytes.
Definition
GenericReceiverConcept.hpp:32
Generated on
for DUNE-DAQ by
1.17.0