#include <DataProxy.h>
Public Member Functions | |
bool | cacheIsValid () const |
DataProxy () | |
void | doGet (EventSetupRecordImpl const &iRecord, DataKey const &iKey, bool iTransiently, ActivityRegistry *) const |
void const * | get (EventSetupRecordImpl const &, DataKey const &iKey, bool iTransiently, ActivityRegistry *) const |
void | invalidate () |
ComponentDescription const * | providerDescription () const |
returns the description of the DataProxyProvider which owns this Proxy More... | |
void | resetIfTransient () |
void | setProviderDescription (ComponentDescription const *iDesc) |
virtual | ~DataProxy () |
Protected Member Functions | |
void | clearCacheIsValid () |
virtual void const * | getImpl (EventSetupRecordImpl const &, DataKey const &iKey)=0 |
virtual void | invalidateCache ()=0 |
virtual void | invalidateTransientCache () |
Private Member Functions | |
DataProxy (DataProxy const &)=delete | |
DataProxy const & | operator= (DataProxy const &)=delete |
Private Attributes | |
void const * | cache_ |
std::atomic< bool > | cacheIsValid_ |
ComponentDescription const * | description_ |
std::atomic< bool > | nonTransientAccessRequested_ |
Definition at line 37 of file DataProxy.h.
Definition at line 42 of file DataProxy.cc.
Referenced by setProviderDescription().
Definition at line 55 of file DataProxy.cc.
|
privatedelete |
|
inline |
Definition at line 44 of file DataProxy.h.
References cacheIsValid_, and doGet().
Referenced by get(), and edm::eventsetup::EventSetupRecordImpl::wasGotten().
|
protected |
Definition at line 74 of file DataProxy.cc.
References cache_, cacheIsValid_, and nonTransientAccessRequested_.
Referenced by invalidate(), resetIfTransient(), and setProviderDescription().
void DataProxy< RecordT, DataT, Initializer >::doGet | ( | EventSetupRecordImpl const & | iRecord, |
DataKey const & | iKey, | ||
bool | iTransiently, | ||
ActivityRegistry * | |||
) | const |
Definition at line 159 of file DataProxy.cc.
Referenced by cacheIsValid(), and edm::eventsetup::EventSetupRecordImpl::doGet().
const void * DataProxy< RecordT, DataT, Initializer >::get | ( | EventSetupRecordImpl const & | , |
DataKey const & | iKey, | ||
bool | iTransiently, | ||
ActivityRegistry * | |||
) | const |
Definition at line 135 of file DataProxy.cc.
References cache_, cacheIsValid(), cacheIsValid_, getImpl(), nonTransientAccessRequested_, and providerDescription().
Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), rrapi.RRApi::columns(), rrapi.RRApi::count(), rrapi.RRApi::data(), betterConfigParser.BetterConfigParser::getCompares(), edm::eventsetup::EventSetupRecordImpl::getFromProxy(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), rrapi.RRApi::report(), rrapi.RRApi::reports(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), and rrapi.RRApi::workspaces().
|
protectedpure virtual |
This is the function which does the real work of getting the data if it is not already cached. The returning 'void const*' must point to an instance of the class type corresponding to the type designated in iKey. So if iKey refers to a base class interface the pointer must be a pointer to that base class interface and not a pointer to an inheriting class instance.
Implemented in edm::test::TestDataProxy< T >.
Referenced by get(), and setProviderDescription().
|
inline |
Definition at line 56 of file DataProxy.h.
References clearCacheIsValid(), invalidateCache(), and resetIfTransient().
|
protectedpure virtual |
indicates that the Proxy should invalidate any cached information as that information has 'expired' (i.e. we have moved to a new IOV)
Implemented in edm::eventsetup::CallbackProxy< CallbackT, RecordT, DataT >, edm::test::TestDataProxy< T >, and DataProxy< RecordT, DataT, Initializer >.
Referenced by invalidate(), invalidateTransientCache(), and setProviderDescription().
|
protectedvirtual |
indicates that the Proxy should invalidate any cached information as that information was accessed transiently and therefore is not intended to be kept over the entire IOV. Default is to call invalidateCache().
Reimplemented in DataProxy< RecordT, DataT, Initializer >.
Definition at line 89 of file DataProxy.cc.
References activityRegistry_, calledPostLock_, componentDescription_, dataKey_, eventSetupRecord_, invalidateCache(), edm::eventsetup::EventSetupRecordImpl::key(), noexcept, and edm::ActivityRegistry::preLockEventSetupGetSignal_.
Referenced by resetIfTransient(), and setProviderDescription().
Referenced by setProviderDescription().
|
inline |
returns the description of the DataProxyProvider which owns this Proxy
Definition at line 50 of file DataProxy.h.
References description_.
Referenced by edm::eventsetup::EventSetupRecordImpl::add(), edm::eventsetup::EventSetupRecordImpl::doGet(), get(), edm::eventsetup::EventSetupRecordImpl::getFromProxy(), and edm::eventsetup::EventSetupRecordImpl::providerDescription().
void DataProxy< RecordT, DataT, Initializer >::resetIfTransient | ( | ) |
Definition at line 81 of file DataProxy.cc.
References clearCacheIsValid(), invalidateTransientCache(), and nonTransientAccessRequested_.
Referenced by invalidate().
|
inline |
Definition at line 63 of file DataProxy.h.
References clearCacheIsValid(), DataProxy(), description_, getImpl(), invalidateCache(), invalidateTransientCache(), and operator=().
|
mutableprivate |
Definition at line 94 of file DataProxy.h.
Referenced by clearCacheIsValid(), and get().
|
mutableprivate |
Definition at line 95 of file DataProxy.h.
Referenced by cacheIsValid(), clearCacheIsValid(), and get().
|
private |
Definition at line 97 of file DataProxy.h.
Referenced by providerDescription(), and setProviderDescription().
|
mutableprivate |
Definition at line 96 of file DataProxy.h.
Referenced by clearCacheIsValid(), get(), and resetIfTransient().