CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes | Friends
edm::LimitedTaskQueue::Resumer Class Reference

#include <LimitedTaskQueue.h>

Public Member Functions

Resumeroperator= (Resumer &&iOther)
 
Resumeroperator= (Resumer const &iOther)
 
bool resume ()
 
 Resumer ()=default
 
 Resumer (Resumer &&iOther)
 
 Resumer (Resumer const &iOther)
 
 ~Resumer ()
 

Private Member Functions

 Resumer (SerialTaskQueue *iQueue)
 

Private Attributes

SerialTaskQueuem_queue = nullptr
 

Friends

class LimitedTaskQueue
 

Detailed Description

Definition at line 68 of file LimitedTaskQueue.h.

Constructor & Destructor Documentation

◆ Resumer() [1/4]

edm::LimitedTaskQueue::Resumer::Resumer ( )
default

◆ ~Resumer()

edm::LimitedTaskQueue::Resumer::~Resumer ( )
inline

Definition at line 73 of file LimitedTaskQueue.h.

73 { resume(); }

References resume().

◆ Resumer() [2/4]

edm::LimitedTaskQueue::Resumer::Resumer ( Resumer &&  iOther)
inline

Definition at line 75 of file LimitedTaskQueue.h.

75 : m_queue(iOther.m_queue) { iOther.m_queue = nullptr; }

◆ Resumer() [3/4]

edm::LimitedTaskQueue::Resumer::Resumer ( Resumer const &  iOther)
inline

Definition at line 77 of file LimitedTaskQueue.h.

77  : m_queue(iOther.m_queue) {
78  if (m_queue) {
79  m_queue->pause();
80  }
81  }

References m_queue, and edm::SerialTaskQueue::pause().

◆ Resumer() [4/4]

edm::LimitedTaskQueue::Resumer::Resumer ( SerialTaskQueue iQueue)
inlineprivate

Definition at line 106 of file LimitedTaskQueue.h.

106 : m_queue{iQueue} {}

Member Function Documentation

◆ operator=() [1/2]

Resumer& edm::LimitedTaskQueue::Resumer::operator= ( Resumer &&  iOther)
inline

Definition at line 87 of file LimitedTaskQueue.h.

87  {
88  if (m_queue) {
89  m_queue->resume();
90  }
91  m_queue = iOther.m_queue;
92  iOther.m_queue = nullptr;
93  return *this;
94  }

References m_queue, and edm::SerialTaskQueue::resume().

◆ operator=() [2/2]

Resumer& edm::LimitedTaskQueue::Resumer::operator= ( Resumer const &  iOther)
inline

Definition at line 83 of file LimitedTaskQueue.h.

83  {
84  auto t = iOther;
85  return (*this = std::move(t));
86  }

References eostools::move(), and submitPVValidationJobs::t.

◆ resume()

bool edm::LimitedTaskQueue::Resumer::resume ( )
inline

Definition at line 96 of file LimitedTaskQueue.h.

96  {
97  if (m_queue) {
98  auto q = m_queue;
99  m_queue = nullptr;
100  return q->resume();
101  }
102  return false;
103  }

References m_queue, and submitPVResolutionJobs::q.

Referenced by edm::LuminosityBlockProcessingStatus::resumeGlobalLumiQueue(), and ~Resumer().

Friends And Related Function Documentation

◆ LimitedTaskQueue

friend class LimitedTaskQueue
friend

Definition at line 70 of file LimitedTaskQueue.h.

Member Data Documentation

◆ m_queue

SerialTaskQueue* edm::LimitedTaskQueue::Resumer::m_queue = nullptr
private

Definition at line 107 of file LimitedTaskQueue.h.

Referenced by operator=(), resume(), and Resumer().

edm::SerialTaskQueue::resume
bool resume()
Resumes processing if the queue was paused.
Definition: SerialTaskQueue.cc:35
edm::SerialTaskQueue::pause
bool pause()
Pauses processing of additional tasks from the queue.
Definition: SerialTaskQueue.h:99
submitPVResolutionJobs.q
q
Definition: submitPVResolutionJobs.py:84
edm::LimitedTaskQueue::Resumer::m_queue
SerialTaskQueue * m_queue
Definition: LimitedTaskQueue.h:107
eostools.move
def move(src, dest)
Definition: eostools.py:511
edm::LimitedTaskQueue::Resumer::resume
bool resume()
Definition: LimitedTaskQueue.h:96
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644