Horizon Official Technical Documentation
Horizon::System::RuntimeContext::WorkControlAgent Class Reference

#include <System.hpp>

Public Member Functions

bool start ()
 
bool stop ()
 
bool pause ()
 
bool cancel ()
 
bool completed ()
 
bool failed ()
 
runtime_work_queue_status get_status ()
 

Public Attributes

std::atomic< enum runtime_work_queue_status_status {RUNTIME_WORK_QUEUE_NOT_STARTED}
 

Member Function Documentation

◆ cancel()

bool Horizon::System::RuntimeContext::WorkControlAgent::cancel ( )
inline
190 {
192
193 if (status == RUNTIME_WORK_QUEUE_CANCELLED)
194 return false;
195
197 return true;
198 }
runtime_work_queue_status get_status()
Definition: System.hpp:222
std::atomic< enum runtime_work_queue_status > _status
Definition: System.hpp:224
runtime_work_queue_status
Definition: System.hpp:63
@ RUNTIME_WORK_QUEUE_CANCELLED
Definition: System.hpp:69

References _status, get_status(), and Horizon::System::RUNTIME_WORK_QUEUE_CANCELLED.

+ Here is the call graph for this function:

◆ completed()

bool Horizon::System::RuntimeContext::WorkControlAgent::completed ( )
inline
201 {
203
204 if (status == RUNTIME_WORK_QUEUE_COMPLETED)
205 return false;
206
208 return true;
209 }
@ RUNTIME_WORK_QUEUE_COMPLETED
Definition: System.hpp:70

References _status, get_status(), and Horizon::System::RUNTIME_WORK_QUEUE_COMPLETED.

Referenced by Horizon::System::RuntimeContext::WorkQueueManager::process().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ failed()

bool Horizon::System::RuntimeContext::WorkControlAgent::failed ( )
inline
212 {
214
215 if (status == RUNTIME_WORK_QUEUE_FAILED)
216 return false;
217
219 return true;
220 }
@ RUNTIME_WORK_QUEUE_FAILED
Definition: System.hpp:66

References _status, get_status(), and Horizon::System::RUNTIME_WORK_QUEUE_FAILED.

Referenced by Horizon::System::RuntimeContext::WorkQueueManager::process().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_status()

runtime_work_queue_status Horizon::System::RuntimeContext::WorkControlAgent::get_status ( )
inline
222{ return _status.load(); }

References _status.

Referenced by cancel(), completed(), failed(), pause(), Horizon::System::RuntimeContext::WorkQueueManager::process(), start(), and stop().

+ Here is the caller graph for this function:

◆ pause()

bool Horizon::System::RuntimeContext::WorkControlAgent::pause ( )
inline
179 {
181
183 return false;
184
186 return true;
187 }
@ RUNTIME_WORK_QUEUE_PAUSED
Definition: System.hpp:67

References _status, get_status(), Horizon::System::RUNTIME_WORK_QUEUE_COMPLETED, Horizon::System::RUNTIME_WORK_QUEUE_FAILED, and Horizon::System::RUNTIME_WORK_QUEUE_PAUSED.

+ Here is the call graph for this function:

◆ start()

bool Horizon::System::RuntimeContext::WorkControlAgent::start ( )
inline
155 {
157
159 return false;
160
162 return true;
163 }
@ RUNTIME_WORK_QUEUE_NOT_STARTED
Definition: System.hpp:64
@ RUNTIME_WORK_QUEUE_STARTED
Definition: System.hpp:68

References _status, get_status(), Horizon::System::RUNTIME_WORK_QUEUE_NOT_STARTED, and Horizon::System::RUNTIME_WORK_QUEUE_STARTED.

+ Here is the call graph for this function:

◆ stop()

bool Horizon::System::RuntimeContext::WorkControlAgent::stop ( )
inline
166 {
169
170 if (status == RUNTIME_WORK_QUEUE_FAILED || status == RUNTIME_WORK_QUEUE_COMPLETED || status == stop)
171 return false;
172
173 _status.store(stop);
174
175 return true;
176 }
bool stop()
Definition: System.hpp:165
@ RUNTIME_WORK_QUEUE_STOPPED
Definition: System.hpp:65

References _status, get_status(), Horizon::System::RUNTIME_WORK_QUEUE_COMPLETED, Horizon::System::RUNTIME_WORK_QUEUE_FAILED, Horizon::System::RUNTIME_WORK_QUEUE_STOPPED, and stop().

Referenced by stop().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ _status

std::atomic<enum runtime_work_queue_status> Horizon::System::RuntimeContext::WorkControlAgent::_status {RUNTIME_WORK_QUEUE_NOT_STARTED}

The documentation for this class was generated from the following file: