Base Framework
Public Member Functions | Public Attributes | List of all members
FixedResourceManager< SIZE > Class Template Reference

#include <base/concurrency/Thread.h>

Public Member Functions

 FixedResourceManager () noexcept
 
int acquire () noexcept
 
void release (unsigned int id) noexcept
 

Public Attributes

bool slots [SIZE]
 
unsigned int availableSlots [SIZE] = {0}
 
unsigned int count = SIZE
 

Detailed Description

template<unsigned int SIZE>
class FixedResourceManager< SIZE >

Manages fixed size resource. Not MT-safe.

Constructor & Destructor Documentation

◆ FixedResourceManager()

template<unsigned int SIZE>
FixedResourceManager< SIZE >::FixedResourceManager ( )
inlinenoexcept

Initializes manager.

Member Function Documentation

◆ acquire()

template<unsigned int SIZE>
int FixedResourceManager< SIZE >::acquire ( )
inlinenoexcept

Returns the next available slot. Returns -1 if none available.

◆ release()

template<unsigned int SIZE>
void FixedResourceManager< SIZE >::release ( unsigned int  id)
inlinenoexcept

Releases the given slot.