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 69 of file LimitedTaskQueue.h.

Constructor & Destructor Documentation

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

Definition at line 74 of file LimitedTaskQueue.h.

References resume().

74  {
75  resume();
76  }
edm::LimitedTaskQueue::Resumer::Resumer ( Resumer &&  iOther)
inline

Definition at line 78 of file LimitedTaskQueue.h.

78  : m_queue(iOther.m_queue){
79  iOther.m_queue = nullptr;
80  }
edm::LimitedTaskQueue::Resumer::Resumer ( Resumer const &  iOther)
inline

Definition at line 82 of file LimitedTaskQueue.h.

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

82  : m_queue(iOther.m_queue) {
83  if(m_queue) {
84  m_queue->pause();
85  }
86  }
bool pause()
Pauses processing of additional tasks from the queue.
edm::LimitedTaskQueue::Resumer::Resumer ( SerialTaskQueue iQueue)
inlineprivate

Definition at line 108 of file LimitedTaskQueue.h.

108 : m_queue{iQueue}{}

Member Function Documentation

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

Definition at line 88 of file LimitedTaskQueue.h.

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

Referenced by edm::LimitedTaskQueue::concurrencyLimit().

88  {
89  auto t = iOther;
90  return (*this = std::move(t));
91  }
def move(src, dest)
Definition: eostools.py:510
Resumer& edm::LimitedTaskQueue::Resumer::operator= ( Resumer &&  iOther)
inline

Definition at line 92 of file LimitedTaskQueue.h.

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

92  {
93  if(m_queue) { m_queue->resume();}
94  m_queue = iOther.m_queue;
95  iOther.m_queue = nullptr;
96  return *this;
97  }
bool resume()
Resumes processing if the queue was paused.
bool edm::LimitedTaskQueue::Resumer::resume ( )
inline

Definition at line 99 of file LimitedTaskQueue.h.

References m_queue, and lumiQueryAPI::q.

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

99  {
100  if(m_queue) {
101  auto q = m_queue;
102  m_queue = nullptr;
103  return q->resume();
104  }
105  return false;
106  }

Friends And Related Function Documentation

friend class LimitedTaskQueue
friend

Definition at line 71 of file LimitedTaskQueue.h.

Referenced by edm::LimitedTaskQueue::concurrencyLimit().

Member Data Documentation

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

Definition at line 109 of file LimitedTaskQueue.h.

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