#include <ESSourceDataProxyNonConcurrentBase.h>
Private Member Functions | |
void | prefetchAsyncImpl (edm::WaitingTaskHolder iTask, edm::eventsetup::EventSetupRecordImpl const &iES, edm::eventsetup::DataKey const &iKey, edm::EventSetupImpl const *, edm::ServiceToken const &, edm::ESParentContext const &) final |
Private Attributes | |
std::mutex * | m_mutex |
edm::SerialTaskQueue * | m_queue |
Additional Inherited Members | |
Protected Member Functions inherited from edm::eventsetup::ESSourceDataProxyBase | |
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 |
Definition at line 36 of file ESSourceDataProxyNonConcurrentBase.h.
|
inline |
Definition at line 38 of file ESSourceDataProxyNonConcurrentBase.h.
|
inline |
Definition at line 42 of file ESSourceDataProxyNonConcurrentBase.h.
References m_mutex.
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 22 of file ESSourceDataProxyNonConcurrentBase.cc.
References m_mutex, m_queue, eostools::move(), mutex(), edm::eventsetup::ESSourceDataProxyBase::prefetchAsyncImplTemplate(), and edm::SerialTaskQueue::push().
|
inline |
Definition at line 41 of file ESSourceDataProxyNonConcurrentBase.h.
References m_queue.
|
private |
Definition at line 55 of file ESSourceDataProxyNonConcurrentBase.h.
Referenced by mutex(), and prefetchAsyncImpl().
|
private |
Definition at line 54 of file ESSourceDataProxyNonConcurrentBase.h.
Referenced by prefetchAsyncImpl(), and queue().