Kea 2.5.9
isc::util::CSCallbackSetList Class Reference

Maintains list of unique CSCallbackSets. More...

#include <multi_threading_mgr.h>

Public Member Functions

 CSCallbackSetList ()
 Constructor.
 
void addCallbackSet (const std::string &name, const CSCallbackSet::Callback &check_cb, const CSCallbackSet::Callback &entry_cb, const CSCallbackSet::Callback &exit_cb)
 Adds a callback set to the list.
 
const std::list< CSCallbackSet > & getCallbackSets ()
 Fetches the list of callback sets.
 
void removeAll ()
 Removes all callbacks from the list.
 
void removeCallbackSet (const std::string &name)
 Removes a callback set from the list.
 

Detailed Description

Maintains list of unique CSCallbackSets.

The list emphasizes iteration order and speed over retrieval by name. When iterating over the list of callback sets, they are returned in the order they were added, not by name.

Definition at line 71 of file multi_threading_mgr.h.

Constructor & Destructor Documentation

◆ CSCallbackSetList()

isc::util::CSCallbackSetList::CSCallbackSetList ( )
inline

Constructor.

Definition at line 74 of file multi_threading_mgr.h.

Member Function Documentation

◆ addCallbackSet()

void isc::util::CSCallbackSetList::addCallbackSet ( const std::string &  name,
const CSCallbackSet::Callback check_cb,
const CSCallbackSet::Callback entry_cb,
const CSCallbackSet::Callback exit_cb 
)

Adds a callback set to the list.

Parameters
nameName of the callback to add.
check_cbThe check permissions callback to add.
entry_cbThe CriticalSection entry callback to add.
exit_cbThe CriticalSection exit callback to add.
Exceptions
BadValueif the name is already in the list, the name is blank, or either callback is empty.

Definition at line 247 of file multi_threading_mgr.cc.

References isc_throw.

Referenced by isc::util::MultiThreadingMgr::addCriticalSectionCallbacks().

◆ getCallbackSets()

const std::list< CSCallbackSet > & isc::util::CSCallbackSetList::getCallbackSets ( )

Fetches the list of callback sets.

Definition at line 296 of file multi_threading_mgr.cc.

◆ removeAll()

void isc::util::CSCallbackSetList::removeAll ( )

Removes all callbacks from the list.

Definition at line 291 of file multi_threading_mgr.cc.

Referenced by isc::util::MultiThreadingMgr::removeAllCriticalSectionCallbacks().

◆ removeCallbackSet()

void isc::util::CSCallbackSetList::removeCallbackSet ( const std::string &  name)

Removes a callback set from the list.

Parameters
nameName of the callback to remove. If no such callback exists, it simply returns.

Definition at line 281 of file multi_threading_mgr.cc.

Referenced by isc::util::MultiThreadingMgr::removeCriticalSectionCallbacks().


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