CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
edmtest::TestESConcurrentSourceTestProxy Class Reference
Inheritance diagram for edmtest::TestESConcurrentSourceTestProxy:
edm::eventsetup::ESSourceDataProxyConcurrentBase edm::eventsetup::ESSourceDataProxyBase edm::eventsetup::DataProxy

Public Member Functions

 TestESConcurrentSourceTestProxy (TestESConcurrentSource *TestESConcurrentSource)
 
- Public Member Functions inherited from edm::eventsetup::ESSourceDataProxyConcurrentBase
 ESSourceDataProxyConcurrentBase ()
 
- Public Member Functions inherited from edm::eventsetup::ESSourceDataProxyBase
 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
 
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 ()
 

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::ESSourceDataProxyBase
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)
 
- Protected Member Functions inherited from edm::eventsetup::DataProxy
void clearCacheIsValid ()
 

Detailed Description

Definition at line 42 of file TestESConcurrentSource.cc.

Constructor & Destructor Documentation

◆ TestESConcurrentSourceTestProxy()

edmtest::TestESConcurrentSourceTestProxy::TestESConcurrentSourceTestProxy ( TestESConcurrentSource TestESConcurrentSource)

Member Function Documentation

◆ getAfterPrefetchImpl()

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

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

Implements edm::eventsetup::DataProxy.

Definition at line 113 of file TestESConcurrentSource.cc.

References iovTestInfo_.

◆ initializeForNewIOV()

void edmtest::TestESConcurrentSourceTestProxy::initializeForNewIOV ( )
overrideprivatevirtual

Reimplemented from edm::eventsetup::DataProxy.

Definition at line 115 of file TestESConcurrentSource.cc.

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

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

◆ prefetch()

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

Implements edm::eventsetup::ESSourceDataProxyBase.

Definition at line 94 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().

95  {
97  testESConcurrentSource_->busyWait((std::string("getImpl ") + iKey.name().value()).c_str());
98 
100  edm::LogAbsolute("TestESConcurrentSourceTestProxy")
101  << "TestESConcurrentSourceTestProxy::getImpl '" << iKey.name().value()
102  << "' startIOV = " << iov.first().luminosityBlockNumber() << " endIOV = " << iov.last().luminosityBlockNumber()
103  << " IOV index = " << iRecord.iovIndex() << " cache identifier = " << iRecord.cacheIdentifier();
104 
107  iovTestInfo_.iovIndex_ = iRecord.iovIndex();
109 
111  }
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::TestESConcurrentSourceTestProxy::iovTestInfo_
private

Definition at line 51 of file TestESConcurrentSource.cc.

Referenced by getAfterPrefetchImpl(), and prefetch().

◆ testESConcurrentSource_

TestESConcurrentSource* edmtest::TestESConcurrentSourceTestProxy::testESConcurrentSource_
private

Definition at line 52 of file TestESConcurrentSource.cc.

Referenced by initializeForNewIOV(), and prefetch().