NCBI C++ ToolKit
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
SGridWorkerNodeImpl Struct Reference

Search Toolkit Book for SGridWorkerNodeImpl

#include "grid_worker_impl.hpp"
(Private to src/connect/services.)

+ Inheritance diagram for SGridWorkerNodeImpl:
+ Collaboration diagram for SGridWorkerNodeImpl:

Classes

struct  SJobsInProgress
 Bookkeeping of jobs being executed (to prevent simultaneous runs of the same job) More...
 

Public Types

typedef map< IWorkerNodeJobWatcher *, AutoPtr< IWorkerNodeJobWatcher > > TJobWatchers
 
- Public Types inherited from CObject
enum  EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern }
 Control filling of newly allocated memory. More...
 
typedef CObjectCounterLocker TLockerType
 Default locker type for CRef. More...
 
typedef atomic< Uint8TCounter
 Counter type is CAtomiCounter. More...
 
typedef Uint8 TCount
 Alias for value type of counter. More...
 

Public Member Functions

 SGridWorkerNodeImpl (CNcbiApplicationAPI &app, IWorkerNodeJobFactory *job_factory)
 
void AddJobWatcher (IWorkerNodeJobWatcher &job_watcher, EOwnership owner=eNoOwnership)
 
void Init ()
 
int Run (ESwitch daemonize, string procinfo_file_name)
 
void x_WNCoreInit ()
 
void x_StartWorkerThreads ()
 
void x_StopWorkerThreads ()
 
void x_ClearNode ()
 
int x_WNCleanUp ()
 
const stringGetQueueName () const
 
const stringGetClientName () const
 
const stringGetServiceName () const
 
string GetAppName () const
 
bool EnterExclusiveMode ()
 
void LeaveExclusiveMode ()
 
bool IsExclusiveMode () const
 
bool WaitForExclusiveJobToFinish ()
 
int OfflineRun ()
 
const IRegistryGetConfig () const override
 Get a config file registry. More...
 
const CArgsGetArgs () const override
 Get command line arguments. More...
 
const CNcbiEnvironmentGetEnvironment () const override
 Get environment variables. More...
 
IWorkerNodeCleanupEventSourceGetCleanupEventSource () const override
 Get interface for registering clean-up event listeners. More...
 
CNetScheduleAPI GetNetScheduleAPI () const override
 Get the shared NetScheduleAPI object used by the worker node framework. More...
 
CNetCacheAPI GetNetCacheAPI () const override
 Get the shared NetCacheAPI object used by the worker node framework. More...
 
IWorkerNodeJobGetJobProcessor ()
 
void x_NotifyJobWatchers (const CWorkerNodeJobContext &job_context, IWorkerNodeJobWatcher::EEvent event)
 
bool x_AreMastersBusy () const
 
- Public Member Functions inherited from CObject
 CObject (void)
 Constructor. More...
 
 CObject (const CObject &src)
 Copy constructor. More...
 
virtual ~CObject (void)
 Destructor. More...
 
CObjectoperator= (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...
 
- Public Member Functions inherited from CDebugDumpable
 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
 
- Public Member Functions inherited from IWorkerNodeInitBaseContext
virtual ~IWorkerNodeInitBaseContext ()
 

Public Attributes

unique_ptr< IWorkerNodeJobFactorym_JobProcessorFactory
 
CNetCacheAPI m_NetCacheAPI
 
CNetScheduleAPI m_NetScheduleAPI
 
CNetScheduleExecutor m_NSExecutor
 
CStdPoolOfThreadsm_ThreadPool
 
unsigned int m_MaxThreads
 
unsigned int m_NSTimeout
 
CFastMutex m_JobProcessorMutex
 
unsigned m_CommitJobInterval
 
unsigned m_CheckStatusPeriod
 
CSemaphore m_ExclusiveJobSemaphore
 
bool m_IsProcessingExclusiveJob
 
Uint8 m_TotalMemoryLimit
 
unsigned m_TotalTimeLimit
 
time_t m_StartupTime
 
unsigned m_QueueTimeout
 
CFastMutex m_JobWatcherMutex
 
TJobWatchers m_Watchers
 
CRunningJobLimit m_JobsPerClientIP
 
CRunningJobLimit m_JobsPerSessionID
 
CRef< CWorkerNodeCleanupm_CleanupEventSource
 
set< SSocketAddressm_Masters
 
set< unsigned intm_AdminHosts
 
SThreadSafe< SSuspendResumem_SuspendResume
 
CRef< CJobCommitterThreadm_JobCommitterThread
 
CRef< CWorkerNodeIdleThreadm_IdleThread
 
unique_ptr< IGridWorkerNodeApp_Listenerm_Listener
 
CNcbiApplicationAPIm_App
 
CSynRegistry::TPtr m_SynRegistry
 
CRef< IRegistrym_Registry
 
bool m_SingleThreadForced
 
bool m_LogRequested
 
bool m_ProgressLogRequested
 
size_t m_QueueEmbeddedOutputSize
 
unsigned m_ThreadPoolTimeout
 
SJobsInProgress m_JobsInProgress
 

Additional Inherited Members

- Static Public Member Functions inherited from CObject
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 Public Member Functions inherited from CDebugDumpable
static void EnableDebugDump (bool on)
 
- Static Public Attributes inherited from CObject
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...
 
- Protected Member Functions inherited from CObject
virtual void DeleteThis (void)
 Virtual method "deleting" this object. More...
 

Detailed Description

Definition at line 183 of file grid_worker_impl.hpp.

Member Typedef Documentation

◆ TJobWatchers

Definition at line 255 of file grid_worker_impl.hpp.

Constructor & Destructor Documentation

◆ SGridWorkerNodeImpl()

SGridWorkerNodeImpl::SGridWorkerNodeImpl ( CNcbiApplicationAPI app,
IWorkerNodeJobFactory job_factory 
)

Definition at line 369 of file grid_worker.cpp.

References m_JobProcessorFactory, and NCBI_THROW.

Member Function Documentation

◆ AddJobWatcher()

void SGridWorkerNodeImpl::AddJobWatcher ( IWorkerNodeJobWatcher job_watcher,
EOwnership  owner = eNoOwnership 
)

◆ EnterExclusiveMode()

bool SGridWorkerNodeImpl::EnterExclusiveMode ( )

◆ GetAppName()

string SGridWorkerNodeImpl::GetAppName ( void  ) const
inline

Definition at line 218 of file grid_worker_impl.hpp.

References CNcbiApplicationAPI::GetProgramDisplayName(), and m_App.

Referenced by x_StartWorkerThreads().

◆ GetArgs()

const CArgs & SGridWorkerNodeImpl::GetArgs ( ) const
overridevirtual

Get command line arguments.

Implements IWorkerNodeInitBaseContext.

Definition at line 335 of file grid_worker.cpp.

References CNcbiApplicationAPI::GetArgs(), and m_App.

◆ GetCleanupEventSource()

IWorkerNodeCleanupEventSource * SGridWorkerNodeImpl::GetCleanupEventSource ( ) const
overridevirtual

Get interface for registering clean-up event listeners.

Implements IWorkerNodeInitContext.

Definition at line 345 of file grid_worker.cpp.

References m_CleanupEventSource.

◆ GetClientName()

const string& SGridWorkerNodeImpl::GetClientName ( void  ) const
inline

◆ GetConfig()

const IRegistry & SGridWorkerNodeImpl::GetConfig ( ) const
overridevirtual

Get a config file registry.

Implements IWorkerNodeInitBaseContext.

Definition at line 328 of file grid_worker.cpp.

References _ASSERT, and m_Registry.

◆ GetEnvironment()

const CNcbiEnvironment & SGridWorkerNodeImpl::GetEnvironment ( ) const
overridevirtual

Get environment variables.

Implements IWorkerNodeInitBaseContext.

Definition at line 340 of file grid_worker.cpp.

References CNcbiApplicationAPI::GetEnvironment(), and m_App.

◆ GetJobProcessor()

IWorkerNodeJob * SGridWorkerNodeImpl::GetJobProcessor ( )

◆ GetNetCacheAPI()

CNetCacheAPI SGridWorkerNodeImpl::GetNetCacheAPI ( ) const
overridevirtual

Get the shared NetCacheAPI object used by the worker node framework.

Implements IWorkerNodeInitContext.

Definition at line 358 of file grid_worker.cpp.

References m_NetCacheAPI.

◆ GetNetScheduleAPI()

CNetScheduleAPI SGridWorkerNodeImpl::GetNetScheduleAPI ( ) const
overridevirtual

Get the shared NetScheduleAPI object used by the worker node framework.

Implements IWorkerNodeInitContext.

Definition at line 353 of file grid_worker.cpp.

References m_NetScheduleAPI.

◆ GetQueueName()

const string& SGridWorkerNodeImpl::GetQueueName ( ) const
inline

◆ GetServiceName()

const string& SGridWorkerNodeImpl::GetServiceName ( void  ) const
inline

◆ Init()

void SGridWorkerNodeImpl::Init ( void  )

◆ IsExclusiveMode()

bool SGridWorkerNodeImpl::IsExclusiveMode ( ) const
inline

◆ LeaveExclusiveMode()

void SGridWorkerNodeImpl::LeaveExclusiveMode ( )

◆ OfflineRun()

int SGridWorkerNodeImpl::OfflineRun ( )

◆ Run()

int SGridWorkerNodeImpl::Run ( ESwitch  daemonize,
string  procinfo_file_name 
)

Definition at line 550 of file grid_worker.cpp.

References _ASSERT, AddJobWatcher(), CDirEntry::CheckAccess(), client, Critical(), CCurrentProcess::Daemonize(), SBuildInfo::date, default_timeout, CServer_Exception::eCouldntListen, eDefault, set< Key, Compare >::empty(), CTempString::empty(), eOff, eOn, ERR_POST, ERR_POST_X, Error(), eTakeOwnership, CFile::Exists(), f, CProcess::fDF_AllowExceptions, CProcess::fDF_KeepCWD, CProcess::fDF_KeepStdin, CProcess::fDF_KeepStdout, CCurrentProcess::Fork(), NStr::fSplit_MergeDelimiters, NStr::fSplit_Truncate, CDirEntry::fWrite, CNetScheduleAPI::GetAdmin(), CNcbiApplicationAPI::GetArgs(), CVersionAPI::GetBuildInfo(), GetClientName(), CNetScheduleAPI::GetExecutor(), CProcess::CExitInfo::GetExitCode(), CNcbiApplicationAPI::GetFullVersion(), CSocketAPI::gethostbyname(), CSocketAPI::gethostname(), CGridGlobals::GetInstance(), CGridGlobals::GetJobWatcher(), SThreadSafe< TType >::GetLock(), CCurrentProcess::GetPid(), CDiagContext::GetPID(), CNetScheduleNotificationHandler::GetPort(), CNetScheduleAdmin::GetQueueInfo(), GetQueueName(), CDeadline::GetRemainingTime(), CDiagContext::GetRequestContext(), CNetScheduleAPI::GetServerParams(), CProcess::CExitInfo::GetSignal(), Info(), set< Key, Compare >::insert(), int, CProcess::CExitInfo::IsExited(), CProcess::CExitInfo::IsPresent(), CWorkerNodeIdleThread::IsShutdownRequested(), CProcess::CExitInfo::IsSignaled(), CTimeout::IsZero(), ITERATE, CThread::Join(), kEmptyStr, kInfiniteTimeoutMs, kNetScheduleAPIDriverName, LOG_POST, LOG_POST_X, m_AdminHosts, m_App, m_CheckStatusPeriod, SNetScheduleAPIImpl::m_ClientNode, SNetScheduleAPIImpl::m_ClientSession, m_CommitJobInterval, m_IdleThread, m_JobCommitterThread, m_JobProcessorFactory, m_JobsPerClientIP, m_JobsPerSessionID, m_Listener, m_Masters, m_MaxThreads, m_NetScheduleAPI, SNetScheduleExecutorImpl::m_NotificationHandler, m_NSExecutor, m_NSTimeout, m_QueueEmbeddedOutputSize, m_QueueTimeout, m_SuspendResume, m_SynRegistry, SNetScheduleAPIImpl::m_UseEmbeddedStorage, max(), CNetScheduleAPI::SServerParams::max_output_size, NULL, NStr::NumericToString(), SSocketAddress::Parse(), CWNJobWatcher::Print(), remove(), CWorkerNodeIdleThread::RequestShutdown(), CRef< C, Locker >::Reset(), CRunningJobLimit::ResetJobCounter(), SNetScheduleExecutorImpl::retry_on_exception, CThread::Run(), SNetScheduleAPIImpl::SetAuthParam(), CNetScheduleAPI::SetClientNode(), CWNJobWatcher::SetInfiniteLoopTime(), CWNJobWatcher::SetMaxFailuresAllowed(), CWNJobWatcher::SetMaxJobsAllowed(), CNetScheduleAPI::SetProgramVersion(), CRequestContext::SetSessionID(), CGridGlobals::SetUDPPort(), signum(), SleepMilliSec(), SleepSec(), NStr::Split(), NStr::SplitInTwo(), CJobCommitterThread::Stop(), NStr::StringToUInt(), SBuildInfo::tag, NStr::TruncateSpaces(), CProcess::Wait(), Warning(), x_ClearNode(), x_StartWorkerThreads(), x_StopWorkerThreads(), x_WNCleanUp(), and x_WNCoreInit().

◆ WaitForExclusiveJobToFinish()

bool SGridWorkerNodeImpl::WaitForExclusiveJobToFinish ( )

◆ x_AreMastersBusy()

bool SGridWorkerNodeImpl::x_AreMastersBusy ( ) const

◆ x_ClearNode()

void SGridWorkerNodeImpl::x_ClearNode ( )

◆ x_NotifyJobWatchers()

void SGridWorkerNodeImpl::x_NotifyJobWatchers ( const CWorkerNodeJobContext job_context,
IWorkerNodeJobWatcher::EEvent  event 
)

◆ x_StartWorkerThreads()

void SGridWorkerNodeImpl::x_StartWorkerThreads ( )

◆ x_StopWorkerThreads()

void SGridWorkerNodeImpl::x_StopWorkerThreads ( )

Definition at line 896 of file grid_worker.cpp.

References ERR_POST_X, Info(), CStdPoolOfThreads::KillAllThreads(), LOG_POST_X, m_ThreadPool, and NULL.

Referenced by OfflineRun(), and Run().

◆ x_WNCleanUp()

int SGridWorkerNodeImpl::x_WNCleanUp ( )

◆ x_WNCoreInit()

void SGridWorkerNodeImpl::x_WNCoreInit ( )

Member Data Documentation

◆ m_AdminHosts

set<unsigned int> SGridWorkerNodeImpl::m_AdminHosts

Definition at line 270 of file grid_worker_impl.hpp.

Referenced by Run().

◆ m_App

CNcbiApplicationAPI& SGridWorkerNodeImpl::m_App

Definition at line 281 of file grid_worker_impl.hpp.

Referenced by GetAppName(), GetArgs(), GetEnvironment(), Init(), OfflineRun(), and Run().

◆ m_CheckStatusPeriod

unsigned SGridWorkerNodeImpl::m_CheckStatusPeriod

Definition at line 246 of file grid_worker_impl.hpp.

Referenced by Run().

◆ m_CleanupEventSource

CRef<CWorkerNodeCleanup> SGridWorkerNodeImpl::m_CleanupEventSource

Definition at line 262 of file grid_worker_impl.hpp.

Referenced by GetCleanupEventSource(), and CGridCleanupThread::Main().

◆ m_CommitJobInterval

unsigned SGridWorkerNodeImpl::m_CommitJobInterval

Definition at line 245 of file grid_worker_impl.hpp.

Referenced by Run(), and CJobCommitterThread::x_CommitJob().

◆ m_ExclusiveJobSemaphore

CSemaphore SGridWorkerNodeImpl::m_ExclusiveJobSemaphore

◆ m_IdleThread

CRef<CWorkerNodeIdleThread> SGridWorkerNodeImpl::m_IdleThread

Definition at line 277 of file grid_worker_impl.hpp.

Referenced by Run().

◆ m_IsProcessingExclusiveJob

bool SGridWorkerNodeImpl::m_IsProcessingExclusiveJob

Definition at line 248 of file grid_worker_impl.hpp.

Referenced by EnterExclusiveMode(), IsExclusiveMode(), and LeaveExclusiveMode().

◆ m_JobCommitterThread

CRef<CJobCommitterThread> SGridWorkerNodeImpl::m_JobCommitterThread

◆ m_JobProcessorFactory

unique_ptr<IWorkerNodeJobFactory> SGridWorkerNodeImpl::m_JobProcessorFactory

Definition at line 235 of file grid_worker_impl.hpp.

Referenced by GetJobProcessor(), Init(), Run(), and SGridWorkerNodeImpl().

◆ m_JobProcessorMutex

CFastMutex SGridWorkerNodeImpl::m_JobProcessorMutex
mutable

Definition at line 244 of file grid_worker_impl.hpp.

Referenced by GetJobProcessor().

◆ m_JobsInProgress

SJobsInProgress SGridWorkerNodeImpl::m_JobsInProgress

◆ m_JobsPerClientIP

CRunningJobLimit SGridWorkerNodeImpl::m_JobsPerClientIP

Definition at line 259 of file grid_worker_impl.hpp.

Referenced by Run(), and SWorkerNodeJobContextImpl::x_RunJob().

◆ m_JobsPerSessionID

CRunningJobLimit SGridWorkerNodeImpl::m_JobsPerSessionID

Definition at line 260 of file grid_worker_impl.hpp.

Referenced by Run(), and SWorkerNodeJobContextImpl::x_RunJob().

◆ m_JobWatcherMutex

CFastMutex SGridWorkerNodeImpl::m_JobWatcherMutex

Definition at line 256 of file grid_worker_impl.hpp.

Referenced by x_NotifyJobWatchers().

◆ m_Listener

unique_ptr<IGridWorkerNodeApp_Listener> SGridWorkerNodeImpl::m_Listener

Definition at line 279 of file grid_worker_impl.hpp.

Referenced by Init(), OfflineRun(), Run(), and x_WNCleanUp().

◆ m_LogRequested

bool SGridWorkerNodeImpl::m_LogRequested

Definition at line 285 of file grid_worker_impl.hpp.

Referenced by SWorkerNodeJobContextImpl::x_RunJob(), and x_WNCoreInit().

◆ m_Masters

set<SSocketAddress> SGridWorkerNodeImpl::m_Masters

Definition at line 269 of file grid_worker_impl.hpp.

Referenced by Run(), and x_AreMastersBusy().

◆ m_MaxThreads

unsigned int SGridWorkerNodeImpl::m_MaxThreads

Definition at line 242 of file grid_worker_impl.hpp.

Referenced by Run(), x_StartWorkerThreads(), and x_WNCoreInit().

◆ m_NetCacheAPI

CNetCacheAPI SGridWorkerNodeImpl::m_NetCacheAPI

Definition at line 237 of file grid_worker_impl.hpp.

Referenced by GetNetCacheAPI(), and Init().

◆ m_NetScheduleAPI

CNetScheduleAPI SGridWorkerNodeImpl::m_NetScheduleAPI

◆ m_NSExecutor

CNetScheduleExecutor SGridWorkerNodeImpl::m_NSExecutor

◆ m_NSTimeout

unsigned int SGridWorkerNodeImpl::m_NSTimeout

◆ m_ProgressLogRequested

bool SGridWorkerNodeImpl::m_ProgressLogRequested

◆ m_QueueEmbeddedOutputSize

size_t SGridWorkerNodeImpl::m_QueueEmbeddedOutputSize

Definition at line 287 of file grid_worker_impl.hpp.

Referenced by SWorkerNodeJobContextImpl::GetOStream(), OfflineRun(), and Run().

◆ m_QueueTimeout

unsigned SGridWorkerNodeImpl::m_QueueTimeout

Definition at line 252 of file grid_worker_impl.hpp.

Referenced by Run(), and CJobCommitterThread::x_CommitJob().

◆ m_Registry

CRef<IRegistry> SGridWorkerNodeImpl::m_Registry

Definition at line 283 of file grid_worker_impl.hpp.

Referenced by GetConfig(), and Init().

◆ m_SingleThreadForced

bool SGridWorkerNodeImpl::m_SingleThreadForced

Definition at line 284 of file grid_worker_impl.hpp.

Referenced by x_WNCoreInit().

◆ m_StartupTime

time_t SGridWorkerNodeImpl::m_StartupTime

Definition at line 251 of file grid_worker_impl.hpp.

Referenced by x_WNCoreInit().

◆ m_SuspendResume

SThreadSafe<SSuspendResume> SGridWorkerNodeImpl::m_SuspendResume

◆ m_SynRegistry

CSynRegistry::TPtr SGridWorkerNodeImpl::m_SynRegistry

◆ m_ThreadPool

CStdPoolOfThreads* SGridWorkerNodeImpl::m_ThreadPool

◆ m_ThreadPoolTimeout

unsigned SGridWorkerNodeImpl::m_ThreadPoolTimeout

Definition at line 288 of file grid_worker_impl.hpp.

Referenced by CMainLoopThread::Main(), OfflineRun(), x_WNCleanUp(), and x_WNCoreInit().

◆ m_TotalMemoryLimit

Uint8 SGridWorkerNodeImpl::m_TotalMemoryLimit

Definition at line 249 of file grid_worker_impl.hpp.

Referenced by x_WNCoreInit().

◆ m_TotalTimeLimit

unsigned SGridWorkerNodeImpl::m_TotalTimeLimit

Definition at line 250 of file grid_worker_impl.hpp.

Referenced by CMainLoopThread::Main(), and x_WNCoreInit().

◆ m_Watchers

TJobWatchers SGridWorkerNodeImpl::m_Watchers

Definition at line 257 of file grid_worker_impl.hpp.

Referenced by AddJobWatcher(), and x_NotifyJobWatchers().


The documentation for this struct was generated from the following files:
Modified on Fri Sep 20 14:57:01 2024 by modify_doxy.py rev. 669887