ATLAS Offline Software
|
#include <TransientAddress.h>
Public Types | |
typedef std::vector< CLID > | TransientClidSet |
Strictly a set, but there shouldn't be more than a handful of entries, so store it as a sorted vector instead. More... | |
typedef std::set< std::string > | TransientAliasSet |
typedef IStringPool::sgkey_t | sgkey_t |
Default Constructor. More... | |
Public Member Functions | |
TransientAddress () | |
Construct from clid and string key: More... | |
TransientAddress (CLID id, const std::string &key) | |
Construct from clid, key and IOpaqueAddress. More... | |
TransientAddress (CLID id, const std::string &key, IOpaqueAddress *addr, bool clearAddress=true) | |
TransientAddress (const TransientAddress &) | |
TransientAddress (TransientAddress &&) | |
Destructor. More... | |
~TransientAddress () | |
TransientAddress & | operator= (const TransientAddress &) |
TransientAddress & | operator= (TransientAddress &&) |
void | setID (CLID id, const std::string &key) |
Set the CLID / key. More... | |
void | reset () |
Retrieve IOpaqueAddress. More... | |
IOpaqueAddress *address | ATLAS_NOT_CONST_THREAD_SAFE () const |
set IOpaqueAddress More... | |
void | setAddress (IOpaqueAddress *pAddress) |
Retrieve primary clid. More... | |
CLID | clID () const |
Retrieve string key: More... | |
const std::string & | name () const |
Get the primary (hashed) SG key. More... | |
sgkey_t | sgkey () const |
Set the primary (hashed) SG key. More... | |
void | setSGKey (sgkey_t sgkey) |
check if it is a transient ID (primary or symLinked): More... | |
bool | transientID (CLID id) const |
set transient CLID's More... | |
void | setTransientID (CLID id) |
get transient CLID's More... | |
const TransientClidSet & | transientID () const |
set alias' More... | |
void | setAlias (const std::string &key) |
set alias' More... | |
void | setAlias (const std::set< std::string > &keys) |
set alias' More... | |
void | setAlias (std::set< std::string > &&keys) |
set transient Alias' More... | |
bool | removeAlias (const std::string &key) |
remove alias from proxy More... | |
const TransientAliasSet & | alias () const |
set the clearAddress flag: IOA will not be deleted in proxy More... | |
void | clearAddress (const bool &flag) |
Return the clearAddress flag. More... | |
bool | clearAddress () const |
this sets the flag whether to consult the provider to update this transient address if the IOA is not valid. More... | |
void | consultProvider (const bool &flag) |
Check the validity of the Transient Address. More... | |
bool | isValid (const EventContext *ctx, bool forceUpdate=false) |
cache the pointer to the Address provider which can update this transient address More... | |
IAddressProvider * | provider () |
StoreID::type | storeID () const |
void | setProvider (IAddressProvider *provider, StoreID::type storeID) |
Private Member Functions | |
TransientAddress (CLID id, const std::string &key, IOpaqueAddress *addr, bool clearAddress, bool consultProvider) | |
Private Attributes | |
std::atomic< CLID > | m_clid |
< clid of the concrete class (persistent clid) More... | |
std::atomic< sgkey_t > | m_sgkey |
Store type, needed by updateAddress. More... | |
StoreID::type | m_storeID |
Controls if IOpaqueAddress should be deleted: More... | |
bool | m_clearAddress |
Control whether the Address Provider must be consulted. More... | |
bool | m_consultProvider |
IOpaqueAddress: More... | |
IOpaqueAddress * | m_address |
AddressProvider. More... | |
IAddressProvider * | m_pAddressProvider |
string key of this object More... | |
CxxUtils::CachedValue< std::string > | m_name |
all transient clids. They come from symlinks More... | |
TransientClidSet | m_transientID |
all alias names for a DataObject. They come from setAlias More... | |
TransientAliasSet | m_transientAlias |
Static Private Attributes | |
static const std::string | s_emptyString |
Definition at line 31 of file TransientAddress.h.
Default Constructor.
Definition at line 41 of file TransientAddress.h.
typedef std::set<std::string> SG::TransientAddress::TransientAliasSet |
Definition at line 40 of file TransientAddress.h.
typedef std::vector<CLID> SG::TransientAddress::TransientClidSet |
Strictly a set, but there shouldn't be more than a handful of entries, so store it as a sorted vector instead.
Definition at line 38 of file TransientAddress.h.
TransientAddress::TransientAddress | ( | ) |
Construct from clid and string key:
Definition at line 18 of file TransientAddress.cxx.
Construct from clid, key and IOpaqueAddress.
Definition at line 25 of file TransientAddress.cxx.
TransientAddress::TransientAddress | ( | CLID | id, |
const std::string & | key, | ||
IOpaqueAddress * | addr, | ||
bool | clearAddress = true |
||
) |
Definition at line 32 of file TransientAddress.cxx.
TransientAddress::TransientAddress | ( | const TransientAddress & | other | ) |
Definition at line 63 of file TransientAddress.cxx.
TransientAddress::TransientAddress | ( | TransientAddress && | other | ) |
TransientAddress::~TransientAddress | ( | ) |
Definition at line 96 of file TransientAddress.cxx.
|
private |
Definition at line 40 of file TransientAddress.cxx.
|
inline |
set the clearAddress flag: IOA will not be deleted in proxy
get transient Alias'
Definition at line 278 of file TransientAddress.h.
IOpaqueAddress* address SG::TransientAddress::ATLAS_NOT_CONST_THREAD_SAFE | ( | ) | const |
set IOpaqueAddress
|
inline |
this sets the flag whether to consult the provider to update this transient address if the IOA is not valid.
Return the clearAddress flag.
Definition at line 292 of file TransientAddress.h.
|
inline |
Return the clearAddress flag.
set the clearAddress flag: IOA will not be deleted in proxy
Definition at line 285 of file TransientAddress.h.
|
inline |
|
inline |
Check the validity of the Transient Address.
cache the pointer to the Address provider which can update this transient address
If forceUpdate is true, then call updateAddress
even if we already have an address. If ctx is nullptr, we don't try to update the address.
Definition at line 298 of file TransientAddress.h.
bool TransientAddress::isValid | ( | const EventContext * | ctx, |
bool | forceUpdate = false |
||
) |
cache the pointer to the Address provider which can update this transient address
Definition at line 179 of file TransientAddress.cxx.
|
inline |
Get the primary (hashed) SG key.
Return StoreGate key.
Definition at line 208 of file TransientAddress.h.
TransientAddress & TransientAddress::operator= | ( | const TransientAddress & | other | ) |
Definition at line 102 of file TransientAddress.cxx.
TransientAddress & TransientAddress::operator= | ( | TransientAddress && | other | ) |
Definition at line 121 of file TransientAddress.cxx.
|
inline |
Definition at line 306 of file TransientAddress.h.
|
inline |
remove alias from proxy
remove alias
get transient alias
Definition at line 271 of file TransientAddress.h.
|
inline |
Retrieve IOpaqueAddress.
Definition at line 187 of file TransientAddress.h.
void TransientAddress::setAddress | ( | IOpaqueAddress * | pAddress | ) |
|
inline |
|
inline |
|
inline |
set transient Alias'
Definition at line 265 of file TransientAddress.h.
Set the CLID / key.
This will only succeed if the clid/key are currently clear. Reset
id | The new CLID. |
key | The new StoreGate key. |
This will only succeed if the clid/key are currently clear.
Definition at line 161 of file TransientAddress.cxx.
|
inline |
Definition at line 317 of file TransientAddress.h.
|
inline |
check if it is a transient ID (primary or symLinked):
Set the primary (hashed) SG key.
Definition at line 229 of file TransientAddress.h.
void TransientAddress::setTransientID | ( | CLID | id | ) |
|
inline |
Set the primary (hashed) SG key.
Get the primary (hashed) SG key.
Definition at line 222 of file TransientAddress.h.
|
inline |
Definition at line 311 of file TransientAddress.h.
|
inline |
|
inline |
set transient CLID's
check if it is a transient ID:
Definition at line 236 of file TransientAddress.h.
|
private |
AddressProvider.
Definition at line 165 of file TransientAddress.h.
|
private |
Control whether the Address Provider must be consulted.
Definition at line 159 of file TransientAddress.h.
|
private |
< clid of the concrete class (persistent clid)
(hashed) SG key for primary clid / key.
Definition at line 150 of file TransientAddress.h.
|
private |
IOpaqueAddress:
Definition at line 162 of file TransientAddress.h.
|
private |
all transient clids. They come from symlinks
Definition at line 171 of file TransientAddress.h.
|
private |
string key of this object
Definition at line 168 of file TransientAddress.h.
|
private |
Store type, needed by updateAddress.
Definition at line 153 of file TransientAddress.h.
|
private |
Controls if IOpaqueAddress should be deleted:
Definition at line 156 of file TransientAddress.h.
|
private |
Definition at line 177 of file TransientAddress.h.
|
private |
all alias names for a DataObject. They come from setAlias
Definition at line 174 of file TransientAddress.h.
|
staticprivate |
Definition at line 179 of file TransientAddress.h.