31 namespace eventsetup {
42 nonTransientAccessRequested_(
false) {}
79 bool iTransiently)
const {
84 if LIKELY (!iTransiently) {
94 throwMakeException(iRecord, iKey);
107 std::exception_ptr exceptPtr{};
108 iEventSetupImpl->
taskArena()->execute([
this, &exceptPtr, &iRecord, &iKey, iEventSetupImpl,
token, iParent]() {
116 std::rethrow_exception(exceptPtr);
void const * getAfterPrefetch(const EventSetupRecordImpl &iRecord, const DataKey &iKey, bool iTransiently) const
bool cacheIsValid() const
std::exception_ptr syncWait(F &&iFunc)
virtual void invalidateTransientCache()
std::atomic< bool > nonTransientAccessRequested_
ServiceToken presentToken() const
std::atomic< bool > cacheIsValid_
tbb::task_arena * taskArena() const
static ServiceRegistry & instance()
void prefetchAsync(WaitingTaskHolder, EventSetupRecordImpl const &, DataKey const &, EventSetupImpl const *, ServiceToken const &, ESParentContext const &) const
void const * get(EventSetupRecordImpl const &, DataKey const &, bool iTransiently, ActivityRegistry const *, EventSetupImpl const *, ESParentContext const &) const
virtual void prefetchAsyncImpl(WaitingTaskHolder, EventSetupRecordImpl const &, DataKey const &iKey, EventSetupImpl const *, ServiceToken const &, ESParentContext const &)=0
static const ComponentDescription * dummyDescription()
virtual void invalidateCache()=0
virtual void const * getAfterPrefetchImpl() const =0
EventSetupRecordKey const & key() const