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 const &iOther)
 
Resumeroperator= (Resumer &&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 57 of file LimitedTaskQueue.h.

Constructor & Destructor Documentation

◆ Resumer() [1/4]

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

◆ ~Resumer()

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

Definition at line 62 of file LimitedTaskQueue.h.

References resume().

◆ Resumer() [2/4]

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

Definition at line 64 of file LimitedTaskQueue.h.

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

◆ Resumer() [3/4]

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

Definition at line 66 of file LimitedTaskQueue.h.

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

66  : m_queue(iOther.m_queue) {
67  if (m_queue) {
68  m_queue->pause();
69  }
70  }
bool pause()
Pauses processing of additional tasks from the queue.

◆ Resumer() [4/4]

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

Definition at line 95 of file LimitedTaskQueue.h.

95 : m_queue{iQueue} {}

Member Function Documentation

◆ operator=() [1/2]

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

Definition at line 72 of file LimitedTaskQueue.h.

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

72  {
73  auto t = iOther;
74  return (*this = std::move(t));
75  }
def move(src, dest)
Definition: eostools.py:511

◆ operator=() [2/2]

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

Definition at line 76 of file LimitedTaskQueue.h.

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

76  {
77  if (m_queue) {
78  m_queue->resume();
79  }
80  m_queue = iOther.m_queue;
81  iOther.m_queue = nullptr;
82  return *this;
83  }
bool resume()
Resumes processing if the queue was paused.

◆ resume()

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

Definition at line 85 of file LimitedTaskQueue.h.

References m_queue, and submitPVResolutionJobs::q.

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

85  {
86  if (m_queue) {
87  auto q = m_queue;
88  m_queue = nullptr;
89  return q->resume();
90  }
91  return false;
92  }

Friends And Related Function Documentation

◆ LimitedTaskQueue

friend class LimitedTaskQueue
friend

Definition at line 59 of file LimitedTaskQueue.h.

Member Data Documentation

◆ m_queue

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

Definition at line 96 of file LimitedTaskQueue.h.

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