32 ++queueAndCounter.second;
36 if (queueAndCounter.second == 2) {
37 queueAndCounter.first = std::make_shared<SerialTaskQueue>();
41 std::pair<SharedResourcesAcquirer, std::shared_ptr<std::recursive_mutex>>
45 std::make_shared<std::recursive_mutex>();
61 std::map<std::pair<unsigned int, std::string>, std::shared_ptr<SerialTaskQueue>> sortedResources;
63 for (
auto const&
name : resourceNames) {
68 sortedResources.insert(
73 std::vector<std::shared_ptr<SerialTaskQueue>> queues;
74 queues.reserve(sortedResources.size());
75 for (
auto const&
resource : sortedResources) {
81 queues.push_back(std::make_shared<SerialTaskQueue>());
edm::propagate_const< std::shared_ptr< SerialTaskQueue > > queueForDelayedReader_
SharedResourcesRegistry()
static SharedResourcesRegistry * instance()
std::map< std::string, std::pair< std::shared_ptr< SerialTaskQueue >, unsigned int > > resourceMap_
edm::propagate_const< std::shared_ptr< std::recursive_mutex > > resourceForDelayedReader_
void registerSharedResource(const std::string &)
A resource name must be registered before it can be used in the createAcquirer call.
constexpr T & get_underlying(propagate_const< T > &)
std::pair< SharedResourcesAcquirer, std::shared_ptr< std::recursive_mutex > > createAcquirerForSourceDelayedReader()
SharedResourcesAcquirer createAcquirer(std::vector< std::string > const &) const