src
FWCore
Framework
interface
ESSourceProductResolverNonConcurrentBase.h
Go to the documentation of this file.
1
#ifndef FWCore_Framework_ESSourceProductResolverNonConcurrentBase_h
2
#define FWCore_Framework_ESSourceProductResolverNonConcurrentBase_h
3
// -*- C++ -*-
4
//
5
// Package: FWCore/Framework
6
// Class : ESSourceProductResolverNonConcurrentBase
7
//
21
//
22
// Original Author: Chris Jones
23
// Created: 14/05/2020
24
//
25
26
// system include files
27
#include <mutex>
28
29
// user include files
30
#include "
FWCore/Framework/interface/ESSourceProductResolverBase.h
"
31
#include "
FWCore/Concurrency/interface/SerialTaskQueue.h
"
32
33
// forward declarations
34
35
namespace
edm::eventsetup
{
36
class
ESSourceProductResolverNonConcurrentBase
:
public
ESSourceProductResolverBase
{
37
public
:
38
ESSourceProductResolverNonConcurrentBase
(
edm::SerialTaskQueue
* iQueue,
std::mutex
* iMutex)
39
:
m_queue
(iQueue),
m_mutex
(iMutex) {}
40
41
edm::SerialTaskQueue
*
queue
()
const
{
return
m_queue
; }
42
std::mutex
*
mutex
()
const
{
return
m_mutex
; }
43
44
private
:
45
void
prefetchAsyncImpl
(
edm::WaitingTaskHolder
iTask,
46
edm::eventsetup::EventSetupRecordImpl
const
& iES,
47
edm::eventsetup::DataKey
const
& iKey,
48
edm::EventSetupImpl
const
*,
49
edm::ServiceToken
const
&,
50
edm::ESParentContext
const
&) noexcept
final
;
51
52
// ---------- member data --------------------------------
53
54
edm::SerialTaskQueue
*
m_queue
;
55
std::mutex
*
m_mutex
;
56
};
57
}
// namespace edm::eventsetup
58
#endif
edm::EventSetupImpl
Definition:
EventSetupImpl.h:48
mutex
static std::mutex mutex
Definition:
Proxy.cc:8
edm::ESParentContext
Definition:
ESParentContext.h:21
edm::eventsetup::ESSourceProductResolverBase
Definition:
ESSourceProductResolverBase.h:36
edm::eventsetup::ESSourceProductResolverNonConcurrentBase::m_mutex
std::mutex * m_mutex
Definition:
ESSourceProductResolverNonConcurrentBase.h:55
edm::eventsetup::ESSourceProductResolverNonConcurrentBase::m_queue
edm::SerialTaskQueue * m_queue
Definition:
ESSourceProductResolverNonConcurrentBase.h:54
edm::SerialTaskQueue
Definition:
SerialTaskQueue.h:67
edm::eventsetup::EventSetupRecordImpl
Definition:
EventSetupRecordImpl.h:73
edm::eventsetup::ESSourceProductResolverNonConcurrentBase::ESSourceProductResolverNonConcurrentBase
ESSourceProductResolverNonConcurrentBase(edm::SerialTaskQueue *iQueue, std::mutex *iMutex)
Definition:
ESSourceProductResolverNonConcurrentBase.h:38
edm::eventsetup::ESSourceProductResolverNonConcurrentBase::mutex
std::mutex * mutex() const
Definition:
ESSourceProductResolverNonConcurrentBase.h:42
edm::ServiceToken
Definition:
ServiceToken.h:42
SerialTaskQueue.h
edm::eventsetup::ESSourceProductResolverNonConcurrentBase::prefetchAsyncImpl
void prefetchAsyncImpl(edm::WaitingTaskHolder iTask, edm::eventsetup::EventSetupRecordImpl const &iES, edm::eventsetup::DataKey const &iKey, edm::EventSetupImpl const *, edm::ServiceToken const &, edm::ESParentContext const &) noexcept final
Definition:
ESSourceProductResolverNonConcurrentBase.cc:22
edm::eventsetup::ESSourceProductResolverNonConcurrentBase
Definition:
ESSourceProductResolverNonConcurrentBase.h:36
edm::eventsetup::DataKey
Definition:
DataKey.h:29
edm::eventsetup::ESSourceProductResolverNonConcurrentBase::queue
edm::SerialTaskQueue * queue() const
Definition:
ESSourceProductResolverNonConcurrentBase.h:41
edm::WaitingTaskHolder
Definition:
WaitingTaskHolder.h:32
edm::eventsetup
Definition:
ES_DDDetector.cc:16
ESSourceProductResolverBase.h
Generated for CMSSW Reference Manual by
1.8.14