ifw-daq  3.0.1
IFW Data Acquisition modules
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
daq::Resource Class Reference

#include <resourceToken.hpp>

Public Types

using Signal = boost::signals2::signal< void()>
 Signal that emits on changes to resources. More...
 

Public Member Functions

 Resource ()=default
 
 Resource (unsigned limit) noexcept
 
Resourceoperator= (Resource const &) noexcept=delete
 
boost::future< ResourceTokenAsyncAcquire () noexcept
 
std::optional< ResourceTokenAcquire () noexcept
 
bool HasResource () const noexcept
 
void SetLimit (unsigned new_limit) noexcept
 
unsigned GetLimit () const noexcept
 
unsigned GetUsed () const noexcept
 
boost::signals2::connection Connect (Signal::slot_type const &slot)
 Connect to signal that is emitted when a resource become available. More...
 

Protected Member Functions

void Release () noexcept
 

Friends

class ResourceToken
 

Detailed Description

Definition at line 38 of file resourceToken.hpp.

Member Typedef Documentation

◆ Signal

using daq::Resource::Signal = boost::signals2::signal<void()>

Signal that emits on changes to resources.

Definition at line 43 of file resourceToken.hpp.

Constructor & Destructor Documentation

◆ Resource() [1/2]

daq::Resource::Resource ( )
default

◆ Resource() [2/2]

daq::Resource::Resource ( unsigned  limit)
inlineexplicitnoexcept

Definition at line 45 of file resourceToken.hpp.

Member Function Documentation

◆ Acquire()

std::optional< ResourceToken > daq::Resource::Acquire ( )
noexcept

Definition at line 34 of file resourceToken.cpp.

◆ AsyncAcquire()

boost::future< ResourceToken > daq::Resource::AsyncAcquire ( )
noexcept

Definition at line 42 of file resourceToken.cpp.

◆ Connect()

boost::signals2::connection daq::Resource::Connect ( Signal::slot_type const &  slot)

Connect to signal that is emitted when a resource become available.

Note
There's no guarantee that once signalled there are resources still available.

Definition at line 52 of file resourceToken.cpp.

◆ GetLimit()

unsigned daq::Resource::GetLimit ( ) const
inlinenoexcept

Definition at line 60 of file resourceToken.hpp.

◆ GetUsed()

unsigned daq::Resource::GetUsed ( ) const
inlinenoexcept

Definition at line 63 of file resourceToken.hpp.

◆ HasResource()

bool daq::Resource::HasResource ( ) const
inlinenoexcept

Definition at line 53 of file resourceToken.hpp.

◆ operator=()

Resource& daq::Resource::operator= ( Resource const &  )
deletenoexcept

◆ Release()

void daq::Resource::Release ( )
protectednoexcept

Definition at line 56 of file resourceToken.cpp.

◆ SetLimit()

void daq::Resource::SetLimit ( unsigned  new_limit)
inlinenoexcept

Definition at line 57 of file resourceToken.hpp.

Friends And Related Function Documentation

◆ ResourceToken

friend class ResourceToken
friend

Definition at line 78 of file resourceToken.hpp.


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