![]() |
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 47 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 86 of file ConcurrentRangeMap.h.
|
private |
Lifetime manager for discarded objects.
Definition at line 74 of file CondObjDeleter.h.
1.8.18