NCBI C++ ToolKit
|
Search Toolkit Book for CPSGL_RequestTracker::CBackgroundTask
Public Member Functions | |
CBackgroundTask (CPSGL_RequestTracker *tracker, EPSG_Status item_status, const shared_ptr< CPSG_ReplyItem > &item) | |
CBackgroundTask (CPSGL_RequestTracker *tracker) | |
EStatus | Execute () override |
Do the actual job. More... | |
void | OnStatusChange (EStatus old_task_status) override |
Callback to notify on changes in the task status. More... | |
![]() | |
CThreadPool_Task (unsigned int priority=0) | |
Constructor. More... | |
void | RequestToCancel (void) |
Cancel the task. More... | |
bool | IsCancelRequested (void) const |
Check if cancellation of the task was requested. More... | |
EStatus | GetStatus (void) const |
Get status of the task. More... | |
bool | IsFinished (void) const |
Check if task execution has been already finished (successfully or not) More... | |
unsigned int | GetPriority (void) const |
Get priority of the task. More... | |
![]() | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
![]() | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
Static Public Member Functions | |
static bool | s_IsFinished (EStatus status) |
static bool | s_IsAborted (EStatus status) |
![]() | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
![]() | |
static void | EnableDebugDump (bool on) |
Public Attributes | |
CRef< CPSGL_RequestTracker > | m_Tracker |
EPSG_Status | m_ItemStatus |
shared_ptr< CPSG_ReplyItem > | m_Item |
Additional Inherited Members | |
![]() | |
enum | EStatus { eIdle , eQueued , eExecuting , eCompleted , eFailed , eCanceled } |
Status of the task. More... | |
![]() | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
![]() | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
![]() | |
virtual void | OnCancelRequested (void) |
Callback to notify when cancellation of the task is requested. More... | |
CThreadPool_Task (const CThreadPool_Task &other) | |
Copy ctor. More... | |
CThreadPool_Task & | operator= (const CThreadPool_Task &other) |
Assignment. More... | |
CThreadPool * | GetPool (void) const |
The thread pool which accepted this task for execution. More... | |
virtual | ~CThreadPool_Task (void) |
Destructor. Will be called from CRef. More... | |
![]() | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Definition at line 221 of file psg_evloop.cpp.
|
inline |
Definition at line 224 of file psg_evloop.cpp.
|
inlineexplicit |
Definition at line 233 of file psg_evloop.cpp.
|
inlineoverridevirtual |
Do the actual job.
Called by whichever thread handles this task.
Implements CThreadPool_Task.
Definition at line 248 of file psg_evloop.cpp.
References CPSGL_RequestTracker::BackgroundProcessItemCallback(), CPSGL_RequestTracker::BackgroundProcessReplyCallback(), m_Item, m_ItemStatus, and m_Tracker.
|
inlineoverridevirtual |
Callback to notify on changes in the task status.
old | Task status before the change. Current value can be obtained from GetStatus(). |
Reimplemented from CThreadPool_Task.
Definition at line 258 of file psg_evloop.cpp.
References m_Tracker, and CPSGL_RequestTracker::OnStatusChange().
Definition at line 243 of file psg_evloop.cpp.
References CThreadPool_Task::eCompleted.
Referenced by CPSGL_RequestTracker::BackgroundProcessItemCallback(), CPSGL_RequestTracker::BackgroundProcessReplyCallback(), and CPSGL_RequestTracker::OnStatusChange().
Definition at line 239 of file psg_evloop.cpp.
References CThreadPool_Task::eCompleted.
Referenced by CPSGL_RequestTracker::CCallbackGuard::CCallbackGuard(), CPSGL_RequestTracker::MarkAsFinished(), and CPSGL_RequestTracker::OnStatusChange().
shared_ptr<CPSG_ReplyItem> CPSGL_RequestTracker::CBackgroundTask::m_Item |
Definition at line 265 of file psg_evloop.cpp.
Referenced by Execute().
EPSG_Status CPSGL_RequestTracker::CBackgroundTask::m_ItemStatus |
Definition at line 264 of file psg_evloop.cpp.
Referenced by Execute().
CRef<CPSGL_RequestTracker> CPSGL_RequestTracker::CBackgroundTask::m_Tracker |
Definition at line 263 of file psg_evloop.cpp.
Referenced by Execute(), and OnStatusChange().