![]() |
ATLAS Offline Software
|
The Athena Transient Store API. More...
#include <SGImplSvc.h>
Public Member Functions | |
SGImplSvc (const SGImplSvc &)=delete | |
SGImplSvc & | operator= (const SGImplSvc &)=delete |
DeclareInterfaceID (IProxyDict, 2, 0) | |
DeclareInterfaceID (IHiveStoreMgr, 1, 0) | |
Declare interface ID. More... | |
Basic Client Interface: data object access | |
StatusCode | retrieve (CLID clid, SG::detail::IteratorBase &cibegin, SG::detail::IteratorBase &ciend) const |
Retrieve all objects of type T: returns an SG::ConstIterator range. More... | |
Advanced Client Interface: data object registration | |
StatusCode | recordAddress (const std::string &skey, IOpaqueAddress *pAddress, bool clearAddressFlag=true) |
Create a proxy object using an IOpaqueAddress and a transient key. More... | |
StatusCode | recordAddress (IOpaqueAddress *pAddress, bool clearAddressFlag=true) |
Create a proxy object using an IOpaqueAddress. More... | |
StatusCode | symLink (const void *p2BRegistered, CLID linkID) |
make a soft link to the object T* already registered More... | |
StatusCode | symLink (const CLID id, const std::string &key, const CLID linkid) |
make a soft link to the object pointed by id/key More... | |
StatusCode | setAlias (CLID clid, const std::string &key, const std::string &aliasKey) |
make an alias to a DataObject (provide data type and old key) More... | |
StatusCode | setAlias (const void *p2BAliased, const std::string &aliasKey) |
make an alias to a DataObject (provide only valid pointer) More... | |
StatusCode | setAlias (SG::DataProxy *proxy, const std::string &aliasKey) |
make an alias to a DataObject (provide valid proxy) More... | |
StatusCode | setConst (const void *pointer) |
prevent downstream clients from modifying the pointed-at dobj More... | |
StatusCode | remove (const void *pObject) |
Remove pObject, will remove its proxy if not reset only. More... | |
StatusCode | removeDataAndProxy (const void *pObject) |
Remove pObject and its proxy no matter what. More... | |
bool | transientSwap (const CLID &id, const std::string &keyA, const std::string &keyB) |
swap the content of 2 keys payload A indexed by keyA will now be accessed via keyB and vice versa Note that the swap is invalidated at event boundaries and/or when somebody clear the store. More... | |
Advanced Client Interface: data object access | |
DataObject * | typeless_retrievePrivateCopy (const CLID clid, const std::string &key) |
CLID | clid (const std::string &key) const |
Retrieve the main CLID of the object recorded in StoreGate with the given "key" WARNING: slow! More... | |
std::vector< CLID > | clids (const std::string &key) const |
Retrieve all the CLID s (including symlinks) of the object recorded in StoreGate with the given "key" WARNING: slow! More... | |
int | typeCount (const CLID &id) const |
Return the number of instances of type T (input CLID) More... | |
bool | contains (const CLID id, const std::string &key) const |
Look up a keyed object in TDS by CLID. More... | |
bool | transientContains (const CLID id, const std::string &key) const |
Look up a transient data object in TDS only by CLID. More... | |
std::string | dump () const |
dump objects in store. More... | |
void | setStoreID (StoreID::type id) |
set store ID. request forwarded to DataStore: More... | |
StoreID::type | storeID () const |
get store ID. request forwarded to DataStore: More... | |
void | keys (const CLID &id, std::vector< std::string > &vkeys, bool includeAlias=false, bool onlyValid=true) |
provide list of all StoreGate keys associated with an object. More... | |
virtual ::IProxyDict * | hiveProxyDict () override final |
implements IHiveStore interface for compat with Hive More... | |
IOVSvc interface | |
StatusCode | regFcn (const CallBackID &c1, const CallBackID &c2, const IOVSvcCallBackFcn &fcn, bool trigger=false) |
register a callback function(2) with an already registered function(1) More... | |
StatusCode | regFcn (const std::string &toolName, const CallBackID &c2, const IOVSvcCallBackFcn &fcn, bool trigger=false) |
register a callback function(2) with an already registered AlgTool More... | |
virtual SG::DataProxy * | proxy (const void *const pTransient) const override final |
get proxy for a given data object address in memory More... | |
virtual SG::DataProxy * | proxy (const CLID &id) const final |
get default proxy with given id. More... | |
virtual SG::DataProxy * | proxy (const CLID &id, const std::string &key) const override final |
get proxy with given id and key. Returns 0 to flag failure More... | |
virtual SG::DataProxy * | proxy (const CLID &id, const char *key) const final |
get proxy with given id and key. More... | |
virtual StatusCode | addToStore (CLID id, SG::DataProxy *proxy) override final |
Raw addition of a proxy to the store. More... | |
virtual SG::DataProxy * | recordObject (SG::DataObjectSharedPtr< DataObject > obj, const std::string &key, bool allowMods, bool returnExisting) override final |
Record an object in the store. More... | |
virtual SG::DataProxy * | proxy_exact (SG::sgkey_t sgkey) const override final |
Get proxy given a hashed key+clid. More... | |
more proxy dictionary functionality | |
virtual SG::DataProxy * | proxy (const CLID &id, bool checkValid) const |
get default proxy with given id, optionally checking validity. More... | |
virtual SG::DataProxy * | proxy (const CLID &id, const std::string &key, bool checkValid) const |
get proxy with given id and key, optionally checking validity. More... | |
virtual SG::DataProxy * | proxy (const CLID &id, const char *key, bool checkValid) const |
get proxy with given id and key, optionally checking validity. More... | |
virtual std::vector< const SG::DataProxy * > | proxies () const override final |
return the list of all current proxies in store More... | |
std::vector< CLID > | clids () const |
Return all CLIDs in the store. More... | |
SG::DataProxy * | transientProxy (const CLID &id, const std::string &key) const |
get proxy with given id and key. More... | |
DataObject * | accessData (const CLID &id) const |
find proxy and access its data. Returns 0 to flag failure More... | |
DataObject * | accessData (const CLID &id, const std::string &key) const |
find proxy and access its data. Returns 0 to flag failure More... | |
void | setProxyProviderSvc (IProxyProviderSvc *pPPSvc) |
associate ProxyProviderSvc to this store More... | |
IProxyProviderSvc * | proxyProviderSvc () |
Return current ProxyProviderSvc. More... | |
virtual SG::SourceID | sourceID (const std::string &key="EventSelector") const override |
Return the metadata source ID for the current event slot. More... | |
ElementLink remapping | |
void | remap_impl (sgkey_t source, sgkey_t target, off_t index_offset) |
Declare a remapping. More... | |
virtual bool | tryELRemap (sgkey_t sgkey_in, size_t index_in, sgkey_t &sgkey_out, size_t &index_out) override final |
Test to see if the target of an ElementLink has moved. More... | |
Gaudi Standard Service constructors/destructors | |
SGImplSvc (const std::string &name, ISvcLocator *svc) | |
Standard Constructor. More... | |
virtual | ~SGImplSvc () override final |
Standard Destructor. More... | |
Gaudi IIncidentListener implementation | |
virtual void | handle (const Incident &) override final |
triggered by Incident service More... | |
StatusCode | loadEventProxies () |
load proxies at begin event More... | |
String <-> int key conversions. IStringPool implementation | |
typedef IStringPool::sgkey_t | sgkey_t |
virtual sgkey_t | stringToKey (const std::string &str, CLID clid) override final |
Find the key for a string/CLID pair. More... | |
virtual const std::string * | keyToString (sgkey_t key) const override final |
Find the string corresponding to a given key. More... | |
virtual const std::string * | keyToString (sgkey_t key, CLID &clid) const override final |
Find the string and CLID corresponding to a given key. More... | |
virtual void | registerKey (sgkey_t key, const std::string &str, CLID clidid) override final |
Remember an additional mapping from key to string/CLID. More... | |
bool | mergeStringPool (const SGImplSvc &other) |
Merge the string pool from another store into this one. More... | |
Gaudi IService implementation | |
virtual StatusCode | initialize () override final |
Service initialization. More... | |
virtual StatusCode | reinitialize () override final |
Service reinitialization. More... | |
virtual StatusCode | start () override final |
Service start. More... | |
virtual StatusCode | stop () override final |
Service stop. More... | |
virtual StatusCode | finalize () override final |
Service finalization. More... | |
virtual StatusCode | queryInterface (const InterfaceID &riid, void **ppvInterface) override final |
static const InterfaceID & | interfaceID () |
Should rather be in ISGImplSvc.h if we had one. More... | |
IHiveStoreMgr implementation | |
typedef std::recursive_mutex | mutex_t |
typedef std::lock_guard< mutex_t > | lock_t |
class | IOVDbSvc |
access clearProxyPayload More... | |
class | IOVSvcTool |
class | AthenaOutputStream |
access proxyRange() More... | |
class | StoreGateSvc |
class | SG::VarHandleBase |
access typeless_record More... | |
class | ActiveStoreSvc |
PyObject * | AthenaInternal::recordObjectToStore (StoreGateSvc *, PyObject *, PyObject *, bool, bool, bool) |
void | AthenaInternal::py_sg_clearProxyPayload (StoreGateSvc *, SG::DataProxy *) |
ServiceHandle< IClassIDSvc > | m_pCLIDSvc |
ServiceHandle< IConversionSvc > | m_pDataLoader |
ServiceHandle< IProxyProviderSvc > | m_pPPSHandle |
IProxyProviderSvc * | m_pPPS |
ServiceHandle< IHistorySvc > | m_pHistorySvc |
SG::DataStore * | m_pStore |
std::list< DataObject * > | m_trash |
The Recycle Bin. More... | |
ServiceHandle< IIncidentSvc > | m_pIncSvc |
property More... | |
bool | m_DumpStore |
Dump Property flag: triggers dump() at EndEvent. More... | |
bool | m_ActivateHistory |
Activate the history service. More... | |
bool | m_DumpArena |
DumpArena Property flag : trigger m_arena->report() at clearStore. More... | |
StringArrayProperty | m_folderNameList |
FolderNameList Property. More... | |
ServiceHandle< IIOVSvc > | m_pIOVSvc |
get the IOVSvc "just in time" (breaks recursion at initialize) More... | |
bool | m_storeLoaded |
FIXME hack needed by loadEventProxies. More... | |
SG::StringPool | m_stringpool |
SG::RemapImpl * | m_remap_impl |
SG::Arena | m_arena |
Allocation arena to associate with this store. More... | |
int | m_slotNumber |
The Hive slot number for this store, or -1 if this isn't a Hive store. More... | |
int | m_numSlots |
The total number of slots. 1 if this isn't a Hive store. More... | |
std::map< std::thread::id, std::vector< IResetable * > > | m_newBoundHandles |
Keep track of proxies bound since the last call to commitNewDataObjects or clearStore. More... | |
mutex_t | m_mutex |
mutex_t | m_remapMutex |
mutex_t | m_stringPoolMutex |
virtual StatusCode | clearStore (bool forceRemove=false) override final |
clear DataStore contents: called by the event loop mgrs More... | |
virtual void | commitNewDataObjects () override final |
Reset handles added since the last call to commit. More... | |
void | setSlotNumber (int slot, int numSlots) |
Set the Hive slot number for this store. More... | |
virtual void | boundHandle (IResetable *handle) override final |
Tell the store that a proxy has been bound to a handle. More... | |
virtual void | unboundHandle (IResetable *handle) override final |
Tell the store that a handle has been unbound from a proxy. More... | |
virtual StatusCode | createObj (IConverter *cvt, IOpaqueAddress *addr, DataObject *&refpObject) override |
Call converter to create an object, with locking. More... | |
StatusCode | record_HistObj (const CLID &id, const std::string &key, const std::string &store, bool allowMods, bool resetOnly=true) |
StatusCode | typeless_record (DataObject *obj, const std::string &key, const void *const raw_ptr, bool allowMods, bool resetOnly=true, bool noHist=false) |
type-less recording of an object with a key, allow possibility of specifying const-access and history record More... | |
StatusCode | typeless_overwrite (const CLID &id, DataObject *obj, const std::string &key, const void *const raw_ptr, bool allowMods, bool noHist=false, const std::type_info *tinfo=0) |
same as typeless_record, allows to overwrite an object in memory or on disk More... | |
StatusCode | typeless_record (DataObject *obj, const std::string &key, const void *const raw_ptr, bool allowMods, bool resetOnly, bool noHist, const std::type_info *tinfo) |
StatusCode | typeless_record (DataObject *obj, const std::string &key, const void *const raw_ptr, bool allowMods, bool resetOnly, bool noHist, const std::type_info *tinfo, SG::DataProxy **proxy_ret, bool noOverwrite) |
SG::DataProxy * | record_impl (DataObject *obj, const std::string &key, const void *const raw_ptr, bool allowMods, bool resetOnly, bool allowOverwrite, const std::type_info *tinfo) |
real recording of an object with a key, allow possibility of specifying const-access More... | |
void | releaseObject (const CLID &id, const std::string &key) |
release object held by proxy, if any. More... | |
void | clearProxyPayload (SG::DataProxy *) |
use to reset a proxy (clearing the data object it contains) Unlike DataProxy::reset this method correctly updates SGSvc internals More... | |
SG::DataProxy * | locatePersistent (const SG::TransientAddress *tAddr, bool checkValid=false) const |
StatusCode | proxyRange (const CLID &id, SG::ConstProxyIterator &beg, SG::ConstProxyIterator &end) const |
return a range to all proxies of a given CLID More... | |
SG::DataStore * | store () |
const SG::DataStore * | store () const |
bool | isSymLinked (const CLID &linkID, SG::DataProxy *dp) |
StatusCode | addSymLink (const CLID &linkid, SG::DataProxy *dp) |
StatusCode | addAlias (const std::string &aliasKey, SG::DataProxy *dp) |
std::string | createKey (const CLID &dataID) |
creates a key internally if none specified by client More... | |
SG::DataProxy * | setupProxy (const CLID &dataID, const std::string &gK, DataObject *pDObj, bool allowMods, bool resetOnly) |
try to locate a proxy or create it if needed More... | |
void | recycle (DataObject *pBadDObj) |
put a bad (unrecordable) dobj away More... | |
void | emptyTrash () |
throw away bad objects More... | |
bool | bindHandleToProxy (const CLID &id, const std::string &key, IResetable *ir, SG::DataProxy *&dp) |
name says it all More... | |
bool | bindHandleToProxyAndRegister (const CLID &id, const std::string &key, IResetable *ir, SG::DataProxy *&dp) |
Also do registration with IOVSvc. More... | |
bool | bindHandleToProxyAndRegister (const CLID &id, const std::string &key, IResetable *ir, SG::DataProxy *&dp, const CallBackID &c, const IOVSvcCallBackFcn &fcn, bool trigger) |
StatusCode | removeProxy (SG::DataProxy *proxy, const void *pTrans, bool forceRemove=false) |
remove proxy from store, unless it is reset only. More... | |
StatusCode | t2pRegister (const void *const pTrans, SG::DataProxy *const pPers) |
forwarded to DataStore More... | |
void | t2pRemove (const void *const pTrans) |
forwarded to DataStore More... | |
void | msg_update_handler (Gaudi::Details::PropertyBase &outputLevel) |
callback for output level property More... | |
bool | associateAux_impl (SG::AuxVectorBase *ptr, const std::string &key, CLID auxclid) const |
bool | associateAux_impl (SG::AuxElement *ptr, const std::string &key, CLID auxclid) const |
void | addAutoSymLinks (const std::string &key, CLID clid, SG::DataProxy *dp, const std::type_info *tinfo, bool warn_nobib=true) |
Add automatically-made symlinks for DP. More... | |
void | makeCurrent () |
The current store is becoming the active store. More... | |
The Athena Transient Store API.
Dump | property (default false): set to call dump() at EndEvent |
FolderNameList | property (default ""): data folders to be created in this store |
Definition at line 106 of file SGImplSvc.h.
|
private |
Definition at line 726 of file SGImplSvc.h.
|
private |
Definition at line 725 of file SGImplSvc.h.
Definition at line 353 of file SGImplSvc.h.
SGImplSvc::SGImplSvc | ( | const std::string & | name, |
ISvcLocator * | svc | ||
) |
|
finaloverridevirtual |
|
private |
Definition at line 715 of file SGImplSvc.cxx.
|
private |
|
private |
Definition at line 635 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Raw addition of a proxy to the store.
id | CLID of object being added. |
proxy | proxy to add. |
Implements IProxyDict.
Definition at line 829 of file SGImplSvc.cxx.
|
private |
Definition at line 1950 of file SGImplSvc.cxx.
|
private |
Definition at line 1915 of file SGImplSvc.cxx.
|
private |
name says it all
Definition at line 1391 of file SGImplSvc.cxx.
|
private |
Also do registration with IOVSvc.
Definition at line 1423 of file SGImplSvc.cxx.
|
private |
Definition at line 1437 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Tell the store that a proxy has been bound to a handle.
proxy | The proxy that was bound. The default implementation does nothing. |
Reimplemented from IProxyDict.
Definition at line 1791 of file SGImplSvc.cxx.
|
private |
use to reset a proxy (clearing the data object it contains) Unlike DataProxy::reset this method correctly updates SGSvc internals
Definition at line 1597 of file SGImplSvc.cxx.
|
finaloverridevirtual |
clear DataStore contents: called by the event loop mgrs
forceRemove | if true remove proxies ignoring their resetOnly flag |
Implements IHiveStoreMgr.
Definition at line 268 of file SGImplSvc.cxx.
Retrieve the main CLID
of the object recorded in StoreGate
with the given "key" WARNING: slow!
Definition at line 1676 of file SGImplSvc.cxx.
std::vector< CLID > SGImplSvc::clids | ( | ) | const |
Retrieve all the CLID
s (including symlinks) of the object recorded in StoreGate
with the given "key" WARNING: slow!
Definition at line 1692 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Reset handles added since the last call to commit.
Implements IHiveStoreMgr.
Definition at line 1773 of file SGImplSvc.cxx.
Look up a keyed object in TDS by CLID.
returns false if object not available in TDS or persistent stores Usage: if (!p_store->contains(FooID, "fooKey")) { ... }
Definition at line 735 of file SGImplSvc.cxx.
creates a key internally if none specified by client
Definition at line 262 of file SGImplSvc.cxx.
|
overridevirtual |
Call converter to create an object, with locking.
cvt | The converter to call. |
addr | Opaque address information for the object to create. |
refpObject | Reference to location of the pointer of the created object. |
This calls the createObj
method on cvt
to create the referenced transient object, locking the store during the call.
Reimplemented from IProxyDict.
Definition at line 1834 of file SGImplSvc.cxx.
|
inherited |
Declare interface ID.
|
inherited |
string SGImplSvc::dump | ( | ) | const |
dump objects in store.
request forwarded to DataStore this is triggered at EndEvent setting the Dump property to true
Definition at line 557 of file SGImplSvc.cxx.
|
private |
|
finaloverridevirtual |
|
finaloverridevirtual |
|
inlinefinaloverridevirtual |
implements IHiveStore interface for compat with Hive
Reimplemented from IProxyDict.
Definition at line 227 of file SGImplSvc.h.
|
finaloverridevirtual |
|
static |
Should rather be in ISGImplSvc.h if we had one.
Definition at line 333 of file SGImplSvc.cxx.
|
private |
Definition at line 527 of file SGImplSvc.cxx.
void SGImplSvc::keys | ( | const CLID & | id, |
std::vector< std::string > & | vkeys, | ||
bool | includeAlias = false , |
||
bool | onlyValid = true |
||
) |
provide list of all StoreGate keys associated with an object.
usage: p_store->keys(CLID, vkeys, optionalFlags);
id | CLID for which we are requesting list of keys |
vkeys | will be filled with the (possibly empty) list of keys |
includeAlias | (default false) add alias keys as well |
onlyValid | (default true) add only keys of valid dobjs |
Definition at line 518 of file SGImplSvc.cxx.
Find the string corresponding to a given key.
key | The key to look up. |
stringToKey()
or registerKey()
. Implements IStringPool.
Definition at line 1505 of file SGImplSvc.cxx.
Find the string and CLID corresponding to a given key.
key | The key to look up. |
clid[out] | The found CLID. |
stringToKey()
or registerKey()
. Implements IStringPool.
Definition at line 1521 of file SGImplSvc.cxx.
StatusCode SGImplSvc::loadEventProxies | ( | ) |
|
private |
|
private |
The current store is becoming the active store.
Switch the allocation arena, if needed. Only intended to be called by ActiveStoreSvc.
Switch the allocation arena, if needed, and call SG::CurrentEventStore::setStore.
Definition at line 1815 of file SGImplSvc.cxx.
Merge the string pool from another store into this one.
other | The other store. |
In case of collisions, the colliding entries are skipped, and false is returned. If no collisions, then true is returned.
Definition at line 1563 of file SGImplSvc.cxx.
|
private |
|
finaloverridevirtual |
return the list of all current proxies in store
Implements IProxyDict.
Definition at line 969 of file SGImplSvc.cxx.
get default proxy with given id.
Returns 0 to flag failure Deprecated for the event store.
Definition at line 762 of file SGImplSvc.cxx.
get default proxy with given id, optionally checking validity.
Check if it is valid
Definition at line 768 of file SGImplSvc.cxx.
|
inlinefinalvirtual |
get proxy with given id and key.
Returns 0 to flag failure (overload to prevent a char* to be interpreted as a bool.)
Definition at line 263 of file SGImplSvc.h.
|
inlinevirtual |
get proxy with given id and key, optionally checking validity.
Definition at line 315 of file SGImplSvc.h.
|
finaloverridevirtual |
get proxy with given id and key. Returns 0 to flag failure
Implements IProxyDict.
Definition at line 792 of file SGImplSvc.cxx.
|
virtual |
get proxy with given id and key, optionally checking validity.
Definition at line 798 of file SGImplSvc.cxx.
get proxy for a given data object address in memory
Implements IProxyDict.
Definition at line 753 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Get proxy given a hashed key+clid.
Find an exact match; no handling of aliases, etc. Returns 0 to flag failure.
Implements IProxyDict.
Definition at line 946 of file SGImplSvc.cxx.
IProxyProviderSvc* SGImplSvc::proxyProviderSvc | ( | ) |
Return current ProxyProviderSvc.
|
private |
|
finaloverridevirtual |
Definition at line 343 of file SGImplSvc.cxx.
|
private |
Definition at line 1457 of file SGImplSvc.cxx.
|
private |
real recording of an object with a key, allow possibility of specifying const-access
Definition at line 1133 of file SGImplSvc.cxx.
StatusCode SGImplSvc::recordAddress | ( | const std::string & | skey, |
IOpaqueAddress * | pAddress, | ||
bool | clearAddressFlag = true |
||
) |
Create a proxy object using an IOpaqueAddress and a transient key.
Definition at line 371 of file SGImplSvc.cxx.
StatusCode SGImplSvc::recordAddress | ( | IOpaqueAddress * | pAddress, |
bool | clearAddressFlag = true |
||
) |
|
finaloverridevirtual |
Record an object in the store.
obj | The data object to store. |
key | The key as which it should be stored. |
allowMods | If false, the object will be recorded as const. |
returnExisting | If true, return proxy if this key already exists. If the object has been recorded under a different key, then make an alias. If the object has been recorded under a different clid, then make a link. |
Full-blown record. obj
should usually be something deriving from SG::DataBucket
.
Returns the proxy for the recorded object; nullptr on failure. If the requested CLID/key combination already exists in the store, the behavior is controlled by returnExisting
. If true, then the existing proxy is returned; otherwise, nullptr is returned. In either case, obj
is destroyed.
Implements IProxyDict.
Definition at line 856 of file SGImplSvc.cxx.
|
private |
put a bad (unrecordable) dobj away
Definition at line 1373 of file SGImplSvc.cxx.
StatusCode SGImplSvc::regFcn | ( | const CallBackID & | c1, |
const CallBackID & | c2, | ||
const IOVSvcCallBackFcn & | fcn, | ||
bool | trigger = false |
||
) |
StatusCode SGImplSvc::regFcn | ( | const std::string & | toolName, |
const CallBackID & | c2, | ||
const IOVSvcCallBackFcn & | fcn, | ||
bool | trigger = false |
||
) |
|
finaloverridevirtual |
Remember an additional mapping from key to string/CLID.
key | The key to enter. |
str | The string to enter. |
clid | The CLID associated with the string. |
key
already corresponds to a different string.This registers an additional mapping from a key to a string; it can be found later through lookup()
on the string. Logs an error if key
already corresponds to a different string.
Implements IStringPool.
Definition at line 1540 of file SGImplSvc.cxx.
|
finaloverridevirtual |
release object held by proxy, if any.
Gives up ownership (somebody else must take charge)
Definition at line 1580 of file SGImplSvc.cxx.
Declare a remapping.
source Key hash of the container being remapped.
target Key hash of the container being remapped to.
index_offset Amount by which the index should be adjusted between the two containers.
Definition at line 1625 of file SGImplSvc.cxx.
StatusCode SGImplSvc::remove | ( | const void * | pObject | ) |
Remove pObject, will remove its proxy if not reset only.
Definition at line 1356 of file SGImplSvc.cxx.
StatusCode SGImplSvc::removeDataAndProxy | ( | const void * | pObject | ) |
|
private |
remove proxy from store, unless it is reset only.
provide pTrans!=0 (must match proxy...) to save time
forceRemove | remove the proxy no matter what |
Definition at line 1274 of file SGImplSvc.cxx.
StatusCode SGImplSvc::retrieve | ( | CLID | clid, |
SG::detail::IteratorBase & | cibegin, | ||
SG::detail::IteratorBase & | ciend | ||
) | const |
Retrieve all objects of type T: returns an SG::ConstIterator range.
Definition at line 1884 of file SGImplSvc.cxx.
make an alias to a DataObject (provide data type and old key)
Definition at line 682 of file SGImplSvc.cxx.
make an alias to a DataObject (provide only valid pointer)
Definition at line 655 of file SGImplSvc.cxx.
StatusCode SGImplSvc::setAlias | ( | SG::DataProxy * | proxy, |
const std::string & | aliasKey | ||
) |
make an alias to a DataObject (provide valid proxy)
Definition at line 709 of file SGImplSvc.cxx.
StatusCode SGImplSvc::setConst | ( | const void * | pointer | ) |
prevent downstream clients from modifying the pointed-at dobj
Definition at line 1336 of file SGImplSvc.cxx.
void SGImplSvc::setProxyProviderSvc | ( | IProxyProviderSvc * | pPPSvc | ) |
associate ProxyProviderSvc to this store
void SGImplSvc::setSlotNumber | ( | int | slot, |
int | numSlots | ||
) |
Set the Hive slot number for this store.
slot | The slot number. -1 means that this isn't a Hive store. |
numSlots | The total number of slots. Should be 1 for the non-Hive case. |
Definition at line 958 of file SGImplSvc.cxx.
void SGImplSvc::setStoreID | ( | StoreID::type | id | ) |
set store ID. request forwarded to DataStore:
set store id in DataStore:
Definition at line 504 of file SGImplSvc.cxx.
|
private |
|
overridevirtual |
Return the metadata source ID for the current event slot.
key | SG key of the DataHeader to query. Returns an empty string if no source has been set. |
The default version always returns an empty string.
Returns an empty string if no source has been set.
The default version always returns an empty string.
Reimplemented from IProxyDict.
Definition at line 1866 of file SGImplSvc.cxx.
|
finaloverridevirtual |
|
finaloverridevirtual |
Service stop.
Definition at line 214 of file SGImplSvc.cxx.
|
private |
Definition at line 597 of file SGImplSvc.cxx.
Definition at line 603 of file SGImplSvc.cxx.
StoreID::type SGImplSvc::storeID | ( | ) | const |
|
finaloverridevirtual |
Find the key for a string/CLID pair.
str | The string to look up. |
clid | The CLID associated with the string. |
Implements IStringPool.
Definition at line 1491 of file SGImplSvc.cxx.
|
private |
forwarded to DataStore
Definition at line 1308 of file SGImplSvc.cxx.
forwarded to DataStore
Definition at line 1315 of file SGImplSvc.cxx.
Look up a transient data object in TDS only by CLID.
returns false if object not available in TDS
Definition at line 744 of file SGImplSvc.cxx.
bool SGImplSvc::transientSwap | ( | const CLID & | id, |
const std::string & | keyA, | ||
const std::string & | keyB | ||
) |
swap the content of 2 keys payload A indexed by keyA will now be accessed via keyB and vice versa Note that the swap is invalidated at event boundaries and/or when somebody clear the store.
Definition at line 1024 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Test to see if the target of an ElementLink has moved.
sgkey_in | Original hashed key of the EL. |
index_in | Original index of the EL. |
sgkey_out[out] | New hashed key for the EL. |
index_out[out] | New index for the EL. |
Reimplemented from IProxyDict.
Definition at line 1645 of file SGImplSvc.cxx.
|
private |
same as typeless_record, allows to overwrite an object in memory or on disk
Definition at line 1098 of file SGImplSvc.cxx.
|
private |
Definition at line 1060 of file SGImplSvc.cxx.
|
private |
Definition at line 1071 of file SGImplSvc.cxx.
|
private |
type-less recording of an object with a key, allow possibility of specifying const-access and history record
Definition at line 1050 of file SGImplSvc.cxx.
Definition at line 1660 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Tell the store that a handle has been unbound from a proxy.
handle | The handle that was unbound. The default implementation does nothing. |
Reimplemented from IProxyDict.
Definition at line 1803 of file SGImplSvc.cxx.
|
friend |
Definition at line 674 of file SGImplSvc.h.
|
friend |
|
friend |
|
friend |
access proxyRange()
Definition at line 601 of file SGImplSvc.h.
|
friend |
access clearProxyPayload
Definition at line 587 of file SGImplSvc.h.
|
friend |
Definition at line 588 of file SGImplSvc.h.
|
friend |
access typeless_record
Definition at line 609 of file SGImplSvc.h.
|
friend |
Definition at line 607 of file SGImplSvc.h.
|
private |
Activate the history service.
Definition at line 695 of file SGImplSvc.h.
|
private |
Allocation arena to associate with this store.
Definition at line 711 of file SGImplSvc.h.
|
private |
DumpArena Property flag : trigger m_arena->report() at clearStore.
Definition at line 696 of file SGImplSvc.h.
|
private |
Dump Property flag: triggers dump() at EndEvent.
Definition at line 694 of file SGImplSvc.h.
|
private |
FolderNameList Property.
Definition at line 699 of file SGImplSvc.h.
|
mutableprivate |
Definition at line 727 of file SGImplSvc.h.
|
private |
Keep track of proxies bound since the last call to commitNewDataObjects or clearStore.
Has to be done per-thread. We can't use thread_specific_ptr because we want to be able to clear the vectors for all threads in clearStore().
Definition at line 723 of file SGImplSvc.h.
|
private |
The total number of slots. 1 if this isn't a Hive store.
Definition at line 717 of file SGImplSvc.h.
|
private |
Definition at line 680 of file SGImplSvc.h.
|
private |
Definition at line 681 of file SGImplSvc.h.
|
private |
Definition at line 688 of file SGImplSvc.h.
|
private |
property
Definition at line 693 of file SGImplSvc.h.
|
private |
get the IOVSvc "just in time" (breaks recursion at initialize)
Definition at line 702 of file SGImplSvc.h.
|
private |
Definition at line 686 of file SGImplSvc.h.
|
private |
Definition at line 683 of file SGImplSvc.h.
|
private |
Definition at line 690 of file SGImplSvc.h.
|
private |
Definition at line 708 of file SGImplSvc.h.
|
mutableprivate |
Definition at line 728 of file SGImplSvc.h.
|
private |
The Hive slot number for this store, or -1 if this isn't a Hive store.
Definition at line 714 of file SGImplSvc.h.
|
private |
FIXME hack needed by loadEventProxies.
Definition at line 704 of file SGImplSvc.h.
|
private |
Definition at line 706 of file SGImplSvc.h.
|
mutableprivate |
Definition at line 729 of file SGImplSvc.h.
|
private |
The Recycle Bin.
Definition at line 691 of file SGImplSvc.h.