#include <ProductResolvers.h>
Public Types | |
typedef ProducedProductResolver::ProductStatus | ProductStatus |
Public Member Functions | |
void | connectTo (ProductResolverBase const &iOther, Principal const *) final |
bool | dataValidFromResolver (unsigned int iProcessingIndex, Principal const &principal, bool iSkipCurrentProcess) const |
NoProcessProductResolver (std::vector< ProductResolverIndex > const &matchingHolders, std::vector< bool > const &ambiguous, bool madeAtEnd) | |
void | prefetchFailed (unsigned int iProcessingIndex, Principal const &principal, bool iSkipCurrentProcess, std::exception_ptr iExceptPtr) const |
void | tryPrefetchResolverAsync (unsigned int iProcessingIndex, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc, ServiceToken token) const |
Public Member Functions inherited from edm::ProductResolverBase | |
BranchDescription const & | branchDescription () const |
std::string const & | moduleLabel () const |
ProductResolverBase & | operator= (ProductResolverBase const &)=delete |
void | prefetchAsync (WaitingTask *waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const |
std::string const & | processName () const |
ProductID const & | productID () const |
std::string const & | productInstanceName () const |
ProductProvenance const * | productProvenancePtr () const |
bool | productResolved () const |
ProductResolverBase () | |
ProductResolverBase (ProductResolverBase const &)=delete | |
TypeID | productType () const |
bool | productUnavailable () const |
bool | productWasDeleted () const |
bool | productWasFetchedAndIsValid (bool iSkipCurrentProcess) const |
Provenance const * | provenance () const |
bool | provenanceAvailable () const |
void | putOrMergeProduct (std::unique_ptr< WrapperBase > edp, MergeableRunProductMetadata const *mergeableRunProductMetadata=nullptr) const |
void | putProduct (std::unique_ptr< WrapperBase > edp) const |
void | resetBranchDescription (std::shared_ptr< BranchDescription const > bd) |
void | resetProductData () |
std::string const & | resolvedModuleLabel () const |
Resolution | resolveProduct (Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const |
void | retrieveAndMerge (Principal const &principal, MergeableRunProductMetadata const *mergeableRunProductMetadata) const |
void | setMergeableRunProductMetadata (MergeableRunProductMetadata const *mrpm) |
void | setProcessHistory (ProcessHistory const &ph) |
void | setProvenance (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid) |
virtual void | setupUnscheduled (UnscheduledConfigurator const &) |
bool | singleProduct () const |
StableProvenance const * | stableProvenance () const |
void | unsafe_deleteProduct () const |
bool | unscheduledWasNotRun () const |
void | write (std::ostream &os) const |
virtual | ~ProductResolverBase () |
Private Member Functions | |
BranchDescription const & | branchDescription_ () const override |
void | prefetchAsync_ (WaitingTask *waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override |
ProductProvenance const * | productProvenancePtr_ () const override |
bool | productResolved_ () const final |
bool | productUnavailable_ () const override |
bool | productWasDeleted_ () const override |
bool | productWasFetchedAndIsValid_ (bool iSkipCurrentProcess) const override |
Provenance const * | provenance_ () const override |
void | putOrMergeProduct_ (std::unique_ptr< WrapperBase > prod, MergeableRunProductMetadata const *mergeableRunProductMetadata) const final |
void | putProduct_ (std::unique_ptr< WrapperBase > edp) const override |
void | resetBranchDescription_ (std::shared_ptr< BranchDescription const > bd) override |
void | resetProductData_ (bool deleteEarly) override |
std::string const & | resolvedModuleLabel_ () const override |
Resolution | resolveProduct_ (Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override |
void | setCache (bool skipCurrentProcess, ProductResolverIndex index, std::exception_ptr exceptionPtr) const |
void | setProcessHistory_ (ProcessHistory const &ph) override |
void | setProvenance_ (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid) override |
bool | singleProduct_ () const override |
Resolution | tryResolver (unsigned int index, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const |
bool | unscheduledWasNotRun_ () const override |
unsigned int | unsetIndexValue () const |
Private Attributes | |
std::vector< bool > | ambiguous_ |
std::atomic< unsigned int > | lastCheckIndex_ |
std::atomic< unsigned int > | lastSkipCurrentCheckIndex_ |
const bool | madeAtEnd_ |
std::vector< ProductResolverIndex > | matchingHolders_ |
std::atomic< bool > | prefetchRequested_ |
std::atomic< bool > | skippingPrefetchRequested_ |
WaitingTaskList | skippingWaitingTasks_ |
WaitingTaskList | waitingTasks_ |
Definition at line 316 of file ProductResolvers.h.
Definition at line 318 of file ProductResolvers.h.
edm::NoProcessProductResolver::NoProcessProductResolver | ( | std::vector< ProductResolverIndex > const & | matchingHolders, |
std::vector< bool > const & | ambiguous, | ||
bool | madeAtEnd | ||
) |
Definition at line 711 of file ProductResolvers.cc.
References ambiguous_, and matchingHolders_.
Referenced by edm::ParentProcessProductResolver::throwNullRealProduct().
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 1027 of file ProductResolvers.cc.
References Exception, and edm::errors::LogicError.
|
finalvirtual |
Implements edm::ProductResolverBase.
Definition at line 1045 of file ProductResolvers.cc.
References Exception, and edm::errors::LogicError.
bool edm::NoProcessProductResolver::dataValidFromResolver | ( | unsigned int | iProcessingIndex, |
Principal const & | principal, | ||
bool | iSkipCurrentProcess | ||
) | const |
Definition at line 887 of file ProductResolvers.cc.
References edm::Principal::getProductResolverByIndex(), gen::k, edm::Principal::lookupProcessOrder(), matchingHolders_, edm::ProductResolverBase::productWasFetchedAndIsValid(), and setCache().
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 785 of file ProductResolvers.cc.
References edm::WaitingTaskList::add(), madeAtEnd_, prefetchRequested_, skippingPrefetchRequested_, skippingWaitingTasks_, tryPrefetchResolverAsync(), and waitingTasks_.
void edm::NoProcessProductResolver::prefetchFailed | ( | unsigned int | iProcessingIndex, |
Principal const & | principal, | ||
bool | iSkipCurrentProcess, | ||
std::exception_ptr | iExceptPtr | ||
) | const |
Definition at line 875 of file ProductResolvers.cc.
References gen::k, edm::Principal::lookupProcessOrder(), and setCache().
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 965 of file ProductResolvers.cc.
|
finalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 997 of file ProductResolvers.cc.
References Exception, and edm::errors::LogicError.
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 991 of file ProductResolvers.cc.
References Exception, and edm::errors::LogicError.
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 1003 of file ProductResolvers.cc.
References Exception, and edm::errors::LogicError.
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 1009 of file ProductResolvers.cc.
References Exception, and edm::errors::LogicError.
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 1039 of file ProductResolvers.cc.
References Exception, and edm::errors::LogicError.
|
finalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 1021 of file ProductResolvers.cc.
References Exception, and edm::errors::LogicError.
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 1015 of file ProductResolvers.cc.
References Exception, and edm::errors::LogicError.
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 1033 of file ProductResolvers.cc.
References Exception, and edm::errors::LogicError.
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 971 of file ProductResolvers.cc.
References lastCheckIndex_, lastSkipCurrentCheckIndex_, prefetchRequested_, edm::WaitingTaskList::reset(), skippingPrefetchRequested_, skippingWaitingTasks_, unsetIndexValue(), and waitingTasks_.
|
inlineoverrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 363 of file ProductResolvers.h.
References edm::ProductResolverBase::moduleLabel(), sysUtil::pid, cmsRelvalreport::principal(), edm::DataManagingProductResolver::productProvenancePtr_(), edm::DataManagingProductResolver::resetProductData_(), edm::DataManagingProductResolver::setProcessHistory_(), edm::DataManagingProductResolver::setProvenance_(), and edm::DataManagingProductResolver::singleProduct_().
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 737 of file ProductResolvers.cc.
References ambiguous_, gen::k, kAmbiguousOffset, kMissingOffset, kUnsetOffset, lastCheckIndex_, lastSkipCurrentCheckIndex_, edm::Principal::lookupProcessOrder(), madeAtEnd_, edm::ProductResolverBase::Resolution::makeAmbiguous(), matchingHolders_, edm::ProductResolverIndexInvalid, Resolution, fftjetproducer_cfi::resolution, and tryResolver().
|
private |
Definition at line 815 of file ProductResolvers.cc.
References edm::WaitingTaskList::doneWaiting(), cmsIgProf_Analysis::execute(), lastCheckIndex_, lastSkipCurrentCheckIndex_, skippingWaitingTasks_, and waitingTasks_.
Referenced by dataValidFromResolver(), prefetchFailed(), and tryPrefetchResolverAsync().
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 962 of file ProductResolvers.cc.
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 959 of file ProductResolvers.cc.
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 981 of file ProductResolvers.cc.
void edm::NoProcessProductResolver::tryPrefetchResolverAsync | ( | unsigned int | iProcessingIndex, |
Principal const & | principal, | ||
bool | skipCurrentProcess, | ||
SharedResourcesAcquirer * | sra, | ||
ModuleCallingContext const * | mcc, | ||
ServiceToken | token | ||
) | const |
Definition at line 904 of file ProductResolvers.cc.
References ambiguous_, edm::Principal::getProductResolverByIndex(), gen::k, kAmbiguousOffset, kMissingOffset, edm::Principal::lookupProcessOrder(), matchingHolders_, edm::ProductResolverBase::prefetchAsync(), edm::ProductResolverIndexInvalid, and setCache().
Referenced by prefetchAsync_().
|
private |
Definition at line 726 of file ProductResolvers.cc.
References edm::Principal::getProductResolverByIndex(), matchingHolders_, and edm::ProductResolverBase::resolveProduct().
Referenced by resolveProduct_().
|
overrideprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 985 of file ProductResolvers.cc.
References Exception, and edm::errors::LogicError.
|
inlineprivate |
Definition at line 969 of file ProductResolvers.cc.
References ambiguous_, and kUnsetOffset.
Referenced by resetProductData_().
|
private |
Definition at line 379 of file ProductResolvers.h.
Referenced by NoProcessProductResolver(), resolveProduct_(), tryPrefetchResolverAsync(), and unsetIndexValue().
|
mutableprivate |
Definition at line 382 of file ProductResolvers.h.
Referenced by resetProductData_(), resolveProduct_(), and setCache().
|
mutableprivate |
Definition at line 383 of file ProductResolvers.h.
Referenced by resetProductData_(), resolveProduct_(), and setCache().
|
private |
Definition at line 386 of file ProductResolvers.h.
Referenced by prefetchAsync_(), and resolveProduct_().
|
private |
Definition at line 378 of file ProductResolvers.h.
Referenced by dataValidFromResolver(), NoProcessProductResolver(), resolveProduct_(), tryPrefetchResolverAsync(), and tryResolver().
|
mutableprivate |
Definition at line 384 of file ProductResolvers.h.
Referenced by prefetchAsync_(), and resetProductData_().
|
mutableprivate |
Definition at line 385 of file ProductResolvers.h.
Referenced by prefetchAsync_(), and resetProductData_().
|
mutableprivate |
Definition at line 381 of file ProductResolvers.h.
Referenced by prefetchAsync_(), resetProductData_(), and setCache().
|
mutableprivate |
Definition at line 380 of file ProductResolvers.h.
Referenced by prefetchAsync_(), resetProductData_(), and setCache().