NCBI C++ ToolKit
|
Search Toolkit Book for SNetScheduleExecutorImpl
#include "netschedule_api_impl.hpp"
(Private to src/connect/services
.)
Public Types | |
enum | EChangeAffAction { eAddAffs , eDeleteAffs } |
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< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Public Member Functions | |
SNetScheduleExecutorImpl (CNetScheduleAPI::TInstance ns_api_impl) | |
void | ClaimNewPreferredAffinity (CNetServer orig_server, const string &affinity) |
string | MkSETAFFCmd () |
bool | ExecGET (SNetServerImpl *server, const string &get_cmd, CNetScheduleJob &job) |
bool | x_GetJobWithAffinityLadder (SNetServerImpl *server, const CDeadline &timeout, const string &prio_aff_list, bool any_affinity, CNetScheduleJob &job) |
void | ReturnJob (const CNetScheduleJob &job, bool blacklist=true) |
int | AppendAffinityTokens (string &cmd, const vector< string > *affs, EChangeAffAction action) |
Public Member Functions inherited from CObject | |
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... | |
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 |
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... | |
Definition at line 439 of file netschedule_api_impl.hpp.
Enumerator | |
---|---|
eAddAffs | |
eDeleteAffs |
Definition at line 464 of file netschedule_api_impl.hpp.
|
inline |
Definition at line 441 of file netschedule_api_impl.hpp.
References copy(), set< Key, Compare >::end(), SNetScheduleAPIImpl::m_AffinityList, and m_PreferredAffinities.
int SNetScheduleExecutorImpl::AppendAffinityTokens | ( | string & | cmd, |
const vector< string > * | affs, | ||
SNetScheduleExecutorImpl::EChangeAffAction | action | ||
) |
Definition at line 582 of file netschedule_api_executor.cpp.
References cmd, ITERATE, NCBI_THROW, and NULL.
void SNetScheduleExecutorImpl::ClaimNewPreferredAffinity | ( | CNetServer | orig_server, |
const string & | affinity | ||
) |
Definition at line 171 of file netschedule_api_executor.cpp.
References CNetScheduleExecutor::eClaimNewPreferredAffs, ERR_POST, and g_AppendClientIPSessionIDHitID().
bool SNetScheduleExecutorImpl::ExecGET | ( | SNetServerImpl * | server, |
const string & | get_cmd, | ||
CNetScheduleJob & | job | ||
) |
Definition at line 219 of file netschedule_api_executor.cpp.
References CNetScheduleNewJob::affinity, SNetServerImpl::ConnectAndExec(), CNetScheduleException::ePrefAffExpired, SNetServerImpl::Get(), CException::GetErrCode(), NULL, CNetServer::SExecResult::response, s_ParseGetJobResponse(), and CNetScheduleJob::server.
string SNetScheduleExecutorImpl::MkSETAFFCmd | ( | ) |
Definition at line 202 of file netschedule_api_executor.cpp.
References cmd, g_AppendClientIPSessionIDHitID(), and ITERATE.
void SNetScheduleExecutorImpl::ReturnJob | ( | const CNetScheduleJob & | job, |
bool | blacklist = true |
||
) |
Definition at line 560 of file netschedule_api_executor.cpp.
References CNetScheduleJob::auth_token, cmd, g_AppendClientIPSessionIDHitID(), and CNetScheduleNewJob::job_id.
Referenced by CMainLoopThread::CImpl::ReturnJob().
bool SNetScheduleExecutorImpl::x_GetJobWithAffinityLadder | ( | SNetServerImpl * | server, |
const CDeadline & | timeout, | ||
const string & | prio_aff_list, | ||
bool | any_affinity, | ||
CNetScheduleJob & | job | ||
) |
Definition at line 260 of file netschedule_api_executor.cpp.
References cmd, CNetScheduleExecutor::eExplicitAffinitiesOnly, and s_GET2().
Referenced by CMainLoopThread::CImpl::CheckEntry().
CNetScheduleExecutor::EJobAffinityPreference SNetScheduleExecutorImpl::m_AffinityPreference |
Definition at line 473 of file netschedule_api_impl.hpp.
CNetScheduleAPI SNetScheduleExecutorImpl::m_API |
Definition at line 471 of file netschedule_api_impl.hpp.
Referenced by CNetScheduleNotificationHandler::CheckRequestJobNotification(), and CNetScheduleNotificationHandler::RequestJob().
string SNetScheduleExecutorImpl::m_JobGroup |
Definition at line 480 of file netschedule_api_impl.hpp.
CNetScheduleNotificationHandler SNetScheduleExecutorImpl::m_NotificationHandler |
Definition at line 475 of file netschedule_api_impl.hpp.
Referenced by SGridWorkerNodeImpl::Run().
Definition at line 478 of file netschedule_api_impl.hpp.
Referenced by CGetStatisticsProcessor::Process(), and SNetScheduleExecutorImpl().
CFastMutex SNetScheduleExecutorImpl::m_PreferredAffMutex |
Definition at line 477 of file netschedule_api_impl.hpp.
Referenced by CGetStatisticsProcessor::Process().
Definition at line 481 of file netschedule_api_impl.hpp.
Referenced by SGridWorkerNodeImpl::Run().