ATLAS Offline Software
|
Deletion object for conditions payloads. More...
#include <CondObjDeleter.h>
Public Types | |
typedef void | delete_function(const void *) |
Type of a function to delete a payload object immediately. More... | |
Public Member Functions | |
CondObjDeleter (Athena::IRCUSvc &rcusvc) | |
Constructor. More... | |
virtual void | discard (const void *p) override |
Queue an object for deletion. More... | |
virtual void | quiescent (const EventContext &ctx) override |
Mark a slot as quiescent. More... | |
delete_function * | delfcn () const |
Return a function to delete a payload object immediately. More... | |
Static Private Member Functions | |
static void | delPayload (const void *p) |
Function to delete a payload object immediately. More... | |
Private Attributes | |
Athena::RCUObject< T > | m_obj |
Lifetime manager for discarded objects. More... | |
delete_function * | m_delfcn |
Immediate deletion function. More... | |
Deletion object for conditions payloads.
This class implements the IRangeMapPayloadDeleter
interface for conditions objects.
The underlying ConcurrentRangeMap
objects hold the payload objects as void*'s, so that's the type we use in the IRangeMapPayloadDeleter
template. The parameter T
is the actual type of the payload objects.
We use RCUObject
to manage the lifetime of the deleted objects.
Definition at line 39 of file CondObjDeleter.h.
|
inherited |
Type of a function to delete a payload object immediately.
Definition at line 48 of file ConcurrentRangeMap.h.
Athena::CondObjDeleter< T >::CondObjDeleter | ( | Athena::IRCUSvc & | rcusvc | ) |
Constructor.
rcusvc | Service with which to register. |
|
inherited |
Return a function to delete a payload object immediately.
|
staticprivate |
Function to delete a payload object immediately.
|
overridevirtual |
Queue an object for deletion.
p | The object to delete. |
The object should not actually be deleted until quiescent
has been called for each active slot.
Implements CxxUtils::IRangeMapPayloadDeleter< void, EventContext >.
|
overridevirtual |
Mark a slot as quiescent.
ctx | Event context identifying the slot. |
Implements CxxUtils::IRangeMapPayloadDeleter< void, EventContext >.
|
privateinherited |
Immediate deletion function.
Definition at line 87 of file ConcurrentRangeMap.h.
|
private |
Lifetime manager for discarded objects.
Definition at line 74 of file CondObjDeleter.h.