#include <ESSourceDataProxyBase.h>
Public Member Functions | |
ESSourceDataProxyBase () | |
Public Member Functions inherited from edm::eventsetup::DataProxy | |
bool | cacheIsValid () const |
DataProxy () | |
DataProxy (DataProxy const &)=delete | |
void const * | get (EventSetupRecordImpl const &, DataKey const &, bool iTransiently, ActivityRegistry const *, EventSetupImpl const *, ESParentContext const &) const |
void const * | getAfterPrefetch (const EventSetupRecordImpl &iRecord, const DataKey &iKey, bool iTransiently) const |
virtual void | initializeForNewIOV () |
void | invalidate () |
DataProxy const & | operator= (DataProxy const &)=delete |
void | prefetchAsync (WaitingTaskHolder, EventSetupRecordImpl const &, DataKey const &, EventSetupImpl const *, ServiceToken const &, ESParentContext const &) const |
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 | invalidateCache () override |
void | invalidateTransientCache () override |
virtual void | prefetch (edm::eventsetup::DataKey const &iKey, EventSetupRecordDetails)=0 |
template<typename ASYNC , typename GUARD > | |
void | prefetchAsyncImplTemplate (ASYNC iAsync, GUARD iGuardFactory, edm::WaitingTaskHolder iTask, edm::eventsetup::EventSetupRecordImpl const &iRecord, edm::eventsetup::DataKey const &iKey, edm::ESParentContext const &iContext) |
Protected Member Functions inherited from edm::eventsetup::DataProxy | |
void | clearCacheIsValid () |
virtual void const * | getAfterPrefetchImpl () const =0 |
virtual void | prefetchAsyncImpl (WaitingTaskHolder, EventSetupRecordImpl const &, DataKey const &iKey, EventSetupImpl const *, ServiceToken const &, ESParentContext const &)=0 |
Private Member Functions | |
void | doPrefetchAndSignals (edm::eventsetup::EventSetupRecordImpl const &, edm::eventsetup::DataKey const &iKey, edm::ESParentContext const &) |
template<typename GUARD > | |
void | guardPrefetch (GUARD iGuardFactory, edm::eventsetup::EventSetupRecordImpl const &iES, edm::eventsetup::DataKey const &iKey, edm::ESParentContext const &iContext) |
bool | needToPrefetch (edm::WaitingTaskHolder iTask) |
Private Attributes | |
std::atomic< bool > | m_prefetching |
edm::WaitingTaskList | m_waitingList |
Definition at line 35 of file ESSourceDataProxyBase.h.
|
inline |
Definition at line 37 of file ESSourceDataProxyBase.h.
|
private |
Definition at line 31 of file ESSourceDataProxyBase.cc.
References edm::eventsetup::EventSetupRecordImpl::activityRegistry(), visDQMUpload::context, edm::signalslot::Signal< T >::emit(), edm::eventsetup::EventSetupRecordImpl::key(), edm::ESModuleCallingContext::kRunning, and edm::ActivityRegistry::preESModuleSignal_.
Referenced by guardPrefetch().
|
inlineprivate |
Definition at line 71 of file ESSourceDataProxyBase.h.
References doPrefetchAndSignals().
Referenced by prefetchAsyncImplTemplate().
|
inlineoverrideprotectedvirtual |
indicates that the Proxy should invalidate any cached information as that information has 'expired' (i.e. we have moved to a new IOV)
Implements edm::eventsetup::DataProxy.
Definition at line 40 of file ESSourceDataProxyBase.h.
References m_prefetching, m_waitingList, and edm::WaitingTaskList::reset().
|
inlineoverrideprotectedvirtual |
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 from edm::eventsetup::DataProxy.
Definition at line 44 of file ESSourceDataProxyBase.h.
|
private |
Definition at line 25 of file ESSourceDataProxyBase.cc.
References edm::WaitingTaskList::add(), m_prefetching, m_waitingList, and eostools::move().
Referenced by prefetchAsyncImplTemplate().
|
protectedpure virtual |
Implemented in DataProxy< RecordT, DataT, Initializer >.
|
inlineprotected |
Definition at line 50 of file ESSourceDataProxyBase.h.
References edm::WaitingTaskList::doneWaiting(), edm::WaitingTaskHolder::group(), watchdog::group, guardPrefetch(), m_waitingList, eostools::move(), and needToPrefetch().
Referenced by edm::eventsetup::ESSourceDataProxyConcurrentBase::prefetchAsyncImpl(), and edm::eventsetup::ESSourceDataProxyNonConcurrentBase::prefetchAsyncImpl().
|
private |
Definition at line 88 of file ESSourceDataProxyBase.h.
Referenced by invalidateCache(), and needToPrefetch().
|
private |
Definition at line 87 of file ESSourceDataProxyBase.h.
Referenced by invalidateCache(), needToPrefetch(), and prefetchAsyncImplTemplate().