CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
edmtest::TestESConcurrentSourceTestResolver Class Reference
Inheritance diagram for edmtest::TestESConcurrentSourceTestResolver:
edm::eventsetup::ESSourceProductResolverConcurrentBase edm::eventsetup::ESSourceProductResolverBase edm::eventsetup::ESProductResolver

Public Member Functions

 TestESConcurrentSourceTestResolver (TestESConcurrentSource *TestESConcurrentSource)
 
- Public Member Functions inherited from edm::eventsetup::ESSourceProductResolverConcurrentBase
 ESSourceProductResolverConcurrentBase ()
 
- Public Member Functions inherited from edm::eventsetup::ESSourceProductResolverBase
 ESSourceProductResolverBase ()
 
- Public Member Functions inherited from edm::eventsetup::ESProductResolver
bool cacheIsValid () const
 
 ESProductResolver ()
 
 ESProductResolver (ESProductResolver const &)=delete
 
void const * getAfterPrefetch (const EventSetupRecordImpl &iRecord, const DataKey &iKey, bool iTransiently) const
 
void invalidate ()
 
ESProductResolver const & operator= (ESProductResolver const &)=delete
 
void prefetchAsync (WaitingTaskHolder, EventSetupRecordImpl const &, DataKey const &, EventSetupImpl const *, ServiceToken const &, ESParentContext const &) const noexcept
 
ComponentDescription const * providerDescription () const
 returns the description of the ESProductResolverProvider which owns this Resolver More...
 
void resetIfTransient ()
 
void setProviderDescription (ComponentDescription const *iDesc)
 
virtual ~ESProductResolver ()
 

Private Member Functions

void const * getAfterPrefetchImpl () const override
 
void initializeForNewIOV () override
 
void prefetch (edm::eventsetup::DataKey const &, edm::EventSetupRecordDetails) override
 

Private Attributes

IOVTestInfo iovTestInfo_
 
TestESConcurrentSourcetestESConcurrentSource_
 

Additional Inherited Members

- Protected Member Functions inherited from edm::eventsetup::ESSourceProductResolverBase
void invalidateCache () override
 
void invalidateTransientCache () override
 
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) noexcept
 
- Protected Member Functions inherited from edm::eventsetup::ESProductResolver
void clearCacheIsValid ()
 

Detailed Description

Definition at line 42 of file TestESConcurrentSource.cc.

Constructor & Destructor Documentation

◆ TestESConcurrentSourceTestResolver()

edmtest::TestESConcurrentSourceTestResolver::TestESConcurrentSourceTestResolver ( TestESConcurrentSource TestESConcurrentSource)

Member Function Documentation

◆ getAfterPrefetchImpl()

void const * edmtest::TestESConcurrentSourceTestResolver::getAfterPrefetchImpl ( ) const
overrideprivatevirtual

used to retrieve the data from the implementation. The data is then cached locally.

Implements edm::eventsetup::ESProductResolver.

Definition at line 114 of file TestESConcurrentSource.cc.

References iovTestInfo_.

◆ initializeForNewIOV()

void edmtest::TestESConcurrentSourceTestResolver::initializeForNewIOV ( )
overrideprivatevirtual

Reimplemented from edm::eventsetup::ESProductResolver.

Definition at line 116 of file TestESConcurrentSource.cc.

References edmtest::TestESConcurrentSource::count_initializeForNewIOV_, and testESConcurrentSource_.

116  {
117  edm::LogAbsolute("TestESConcurrentSourceTestResolver::initializeForNewIOV")
118  << "TestESConcurrentSourceTestResolver::initializeForNewIOV";
120  }
std::atomic< unsigned int > count_initializeForNewIOV_
Log< level::System, true > LogAbsolute

◆ prefetch()

void edmtest::TestESConcurrentSourceTestResolver::prefetch ( edm::eventsetup::DataKey const &  iKey,
edm::EventSetupRecordDetails  iRecord 
)
overrideprivatevirtual

Implements edm::eventsetup::ESSourceProductResolverBase.

Definition at line 95 of file TestESConcurrentSource.cc.

References edmtest::TestESConcurrentSource::busyWait(), edm::EventSetupRecordDetails::cacheIdentifier(), edmtest::IOVTestInfo::cacheIdentifier_, edmtest::TestESConcurrentSource::count_, edm::ValidityInterval::first(), edmtest::TestESConcurrentSource::incrementCount(), edmtest::IOVTestInfo::iovEndLumi_, edm::EventSetupRecordDetails::iovIndex(), edmtest::IOVTestInfo::iovIndex_, edmtest::IOVTestInfo::iovStartLumi_, iovTestInfo_, edm::ValidityInterval::last(), edm::IOVSyncValue::luminosityBlockNumber(), edm::eventsetup::DataKey::name(), AlCaHLTBitMon_QueryRunRegistry::string, testESConcurrentSource_, edm::EventSetupRecordDetails::validityInterval(), and edm::eventsetup::SimpleStringTag::value().

96  {
98  testESConcurrentSource_->busyWait((std::string("getImpl ") + iKey.name().value()).c_str());
99 
100  edm::ValidityInterval iov = iRecord.validityInterval();
101  edm::LogAbsolute("TestESConcurrentSourceTestResolver")
102  << "TestESConcurrentSourceTestResolver::getImpl '" << iKey.name().value()
103  << "' startIOV = " << iov.first().luminosityBlockNumber() << " endIOV = " << iov.last().luminosityBlockNumber()
104  << " IOV index = " << iRecord.iovIndex() << " cache identifier = " << iRecord.cacheIdentifier();
105 
108  iovTestInfo_.iovIndex_ = iRecord.iovIndex();
110 
112  }
const IOVSyncValue & last() const
void busyWait(char const *msg) const
LuminosityBlockNumber_t luminosityBlockNumber() const
Definition: IOVSyncValue.h:41
std::atomic< unsigned int > count_
const IOVSyncValue & first() const
unsigned int iovEndLumi_
Definition: IOVTestInfo.h:24
unsigned int iovIndex_
Definition: IOVTestInfo.h:25
unsigned long long cacheIdentifier() const
ValidityInterval validityInterval() const
unsigned int iovStartLumi_
Definition: IOVTestInfo.h:22
unsigned long long cacheIdentifier_
Definition: IOVTestInfo.h:26
Log< level::System, true > LogAbsolute

Member Data Documentation

◆ iovTestInfo_

IOVTestInfo edmtest::TestESConcurrentSourceTestResolver::iovTestInfo_
private

Definition at line 51 of file TestESConcurrentSource.cc.

Referenced by getAfterPrefetchImpl(), and prefetch().

◆ testESConcurrentSource_

TestESConcurrentSource* edmtest::TestESConcurrentSourceTestResolver::testESConcurrentSource_
private

Definition at line 52 of file TestESConcurrentSource.cc.

Referenced by initializeForNewIOV(), and prefetch().