#include <ESSourceDataProxyBase.h>
Public Member Functions | |
ESSourceDataProxyBase (edm::SerialTaskQueue *iQueue, std::mutex *iMutex) | |
std::mutex * | mutex () const |
edm::SerialTaskQueue * | queue () const |
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 |
Protected Member Functions inherited from edm::eventsetup::DataProxy | |
void | clearCacheIsValid () |
virtual void const * | getAfterPrefetchImpl () const =0 |
Private Member Functions | |
void | prefetchAsyncImpl (edm::WaitingTaskHolder iTask, edm::eventsetup::EventSetupRecordImpl const &, edm::eventsetup::DataKey const &iKey, edm::EventSetupImpl const *, edm::ServiceToken const &, edm::ESParentContext const &) final |
Private Attributes | |
std::mutex * | m_mutex |
std::atomic< bool > | m_prefetching |
edm::SerialTaskQueue * | m_queue |
edm::WaitingTaskList | m_waitingList |
Definition at line 39 of file ESSourceDataProxyBase.h.
|
inline |
Definition at line 41 of file ESSourceDataProxyBase.h.
|
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 48 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 52 of file ESSourceDataProxyBase.h.
|
inline |
Definition at line 45 of file ESSourceDataProxyBase.h.
References m_mutex.
|
protectedpure virtual |
Implemented in DataProxy< RecordT, DataT, Initializer >.
Referenced by prefetchAsyncImpl().
|
finalprivatevirtual |
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.
Implements edm::eventsetup::DataProxy.
Definition at line 25 of file ESSourceDataProxyBase.cc.
References edm::WaitingTaskList::add(), visDQMUpload::context, edm::WaitingTaskList::doneWaiting(), edm::WaitingTaskHolder::group(), edm::ESModuleCallingContext::kRunning, m_mutex, m_prefetching, m_queue, m_waitingList, prefetch(), edm::eventsetup::DataProxy::providerDescription(), and edm::SerialTaskQueue::push().
|
inline |
Definition at line 44 of file ESSourceDataProxyBase.h.
References m_queue.
|
private |
Definition at line 68 of file ESSourceDataProxyBase.h.
Referenced by mutex(), and prefetchAsyncImpl().
|
private |
Definition at line 69 of file ESSourceDataProxyBase.h.
Referenced by invalidateCache(), and prefetchAsyncImpl().
|
private |
Definition at line 67 of file ESSourceDataProxyBase.h.
Referenced by prefetchAsyncImpl(), and queue().
|
private |
Definition at line 66 of file ESSourceDataProxyBase.h.
Referenced by invalidateCache(), and prefetchAsyncImpl().