DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::dpdklibs::sender::CallbackGate< Owner > Class Template Reference

#include <CallbackGate.hpp>

Public Member Functions

 CallbackGate ()=default
 CallbackGate (const CallbackGate &)=delete
CallbackGate & operator= (const CallbackGate &)=delete
 CallbackGate (CallbackGate &&)=delete
CallbackGate & operator= (CallbackGate &&)=delete
void arm (Owner *owner)
void tombstone ()
bool armed () const
template<typename Fn>
bool dispatch (Fn &&fn)

Private Attributes

std::shared_mutex m_mutex
Owner * m_owner = nullptr

Detailed Description

template<typename Owner>
class dunedaq::dpdklibs::sender::CallbackGate< Owner >

Definition at line 38 of file CallbackGate.hpp.

Constructor & Destructor Documentation

◆ CallbackGate() [1/3]

template<typename Owner>
dunedaq::dpdklibs::sender::CallbackGate< Owner >::CallbackGate ( )
default

◆ CallbackGate() [2/3]

template<typename Owner>
dunedaq::dpdklibs::sender::CallbackGate< Owner >::CallbackGate ( const CallbackGate< Owner > & )
delete

◆ CallbackGate() [3/3]

template<typename Owner>
dunedaq::dpdklibs::sender::CallbackGate< Owner >::CallbackGate ( CallbackGate< Owner > && )
delete

Member Function Documentation

◆ arm()

template<typename Owner>
void dunedaq::dpdklibs::sender::CallbackGate< Owner >::arm ( Owner * owner)
inline

◆ armed()

template<typename Owner>
bool dunedaq::dpdklibs::sender::CallbackGate< Owner >::armed ( ) const
inline

Definition at line 60 of file CallbackGate.hpp.

61 {
63 return m_owner != nullptr;
64 }

◆ dispatch()

template<typename Owner>
template<typename Fn>
bool dunedaq::dpdklibs::sender::CallbackGate< Owner >::dispatch ( Fn && fn)
inline

Definition at line 70 of file CallbackGate.hpp.

71 {
73 if (m_owner == nullptr) {
74 return false;
75 }
76 std::forward<Fn>(fn)(*m_owner);
77 return true;
78 }

◆ operator=() [1/2]

template<typename Owner>
CallbackGate & dunedaq::dpdklibs::sender::CallbackGate< Owner >::operator= ( CallbackGate< Owner > && )
delete

◆ operator=() [2/2]

template<typename Owner>
CallbackGate & dunedaq::dpdklibs::sender::CallbackGate< Owner >::operator= ( const CallbackGate< Owner > & )
delete

◆ tombstone()

template<typename Owner>
void dunedaq::dpdklibs::sender::CallbackGate< Owner >::tombstone ( )
inline

Definition at line 54 of file CallbackGate.hpp.

55 {
57 m_owner = nullptr;
58 }

Member Data Documentation

◆ m_mutex

template<typename Owner>
std::shared_mutex dunedaq::dpdklibs::sender::CallbackGate< Owner >::m_mutex
mutableprivate

Definition at line 81 of file CallbackGate.hpp.

◆ m_owner

template<typename Owner>
Owner* dunedaq::dpdklibs::sender::CallbackGate< Owner >::m_owner = nullptr
private

Definition at line 82 of file CallbackGate.hpp.


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