NCBI C++ ToolKit
|
Search Toolkit Book for SNetServerImpl
#include "srv_connections_impl.hpp"
(Private to src/connect/services
.)
Classes | |
struct | SConnectDeadline |
Public Member Functions | |
SNetServerImpl (CNetService::TInstance service, SNetServerInPool *server_in_pool) | |
void | TryExec (INetServerExecHandler &handler, const STimeout *timeout=NULL) |
CNetServer::SExecResult | ConnectAndExec (const string &cmd, bool multiline_output, bool retry_on_exception=false) |
void | ConnectAndExec (const string &cmd, bool multiline_output, CNetServer::SExecResult &exec_result, const STimeout *timeout=NULL, INetServerExecListener *exec_listener=NULL) |
template<class TProperties > | |
CRef< TProperties > | Get () |
![]() | |
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 void | ConnectImpl (CSocket &, SConnectDeadline &, const SSocketAddress &, const SSocketAddress &) |
![]() | |
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 | |
CNetService | m_Service |
CRef< SNetServerInPool > | m_ServerInPool |
Additional Inherited Members | |
![]() | |
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 | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Definition at line 250 of file srv_connections_impl.hpp.
|
inline |
Definition at line 254 of file srv_connections_impl.hpp.
CNetServer::SExecResult SNetServerImpl::ConnectAndExec | ( | const string & | cmd, |
bool | multiline_output, | ||
bool | retry_on_exception = false |
||
) |
Definition at line 769 of file srv_connections.cpp.
References cmd, ERR_POST, CNetSrvConnException::eServerThrottle, CNetScheduleException::eTryAgain, CTimeout::GetAsMilliSeconds(), SNetServiceImpl::GetConnectionMaxRetries(), SNetServiceImpl::GetConnectionRetryDelay(), CException::GetErrCode(), CException::GetMsg(), CDeadline::IsExpired(), SNetServiceImpl::m_Listener, SNetServerPoolImpl::m_MaxTotalTime, m_ServerInPool, SNetServerInPool::m_ServerPool, m_Service, NStr::NumericToString(), INetServerConnectionListener::OnWarning(), and SleepMilliSec().
Referenced by SNetScheduleJobReaderImpl::CImpl::CheckEntry(), SNetScheduleExecutorImpl::ExecGET(), CNetScheduleAdmin::GetQueueInfo(), SNetServiceImpl::IterateUntilExecOK(), and SNetScheduleAPIImpl::x_ClearNode().
void SNetServerImpl::ConnectAndExec | ( | const string & | cmd, |
bool | multiline_output, | ||
CNetServer::SExecResult & | exec_result, | ||
const STimeout * | timeout = NULL , |
||
INetServerExecListener * | exec_listener = NULL |
||
) |
Definition at line 661 of file srv_connections.cpp.
|
static |
Definition at line 558 of file srv_connections.cpp.
References SSocketAddress::AsString(), CSocket::Close(), CSocket::Connect(), eIO_Success, eIO_Timeout, fSOCK_KeepAlive, fSOCK_LogOff, CTimeout::GetAsDouble(), SNetServerImpl::SConnectDeadline::GetRemaining(), SNetServerImpl::SConnectDeadline::GetTotal(), SSocketAddress::host, IO_StatusStr(), SNetServerImpl::SConnectDeadline::IsExpired(), NCBI_THROW, CSocketAPI::ntoa(), and SSocketAddress::port.
Referenced by SNetServiceXSiteAPI::ConnectXSite().
|
inline |
Definition at line 278 of file srv_connections_impl.hpp.
References CRef< C, Locker >::GetPointerOrNull(), m_ServerInPool, and SNetServerInPool::m_ServerProperties.
Referenced by SNetScheduleExecutorImpl::ExecGET(), SNetCacheAPIImpl::InitiateWriteCmd(), CNetCacheServerListener::OnConnected(), and CNetScheduleServerListener::OnConnected().
void SNetServerImpl::TryExec | ( | INetServerExecHandler & | handler, |
const STimeout * | timeout = NULL |
||
) |
Definition at line 607 of file srv_connections.cpp.
References CException::GetErrCode(), and m_ServerInPool.
Referenced by ConnectAndExec(), SNetStorageRPC::Exchange(), SNetStorageObjectRPC::Read(), and SNetStorageObjectRPC::Relocate().
CRef<SNetServerInPool> SNetServerImpl::m_ServerInPool |
Definition at line 285 of file srv_connections_impl.hpp.
Referenced by SThrottleStats::Adjust(), SThrottleStats::Check(), ConnectAndExec(), SNetServerConnectionImpl::DeleteThis(), CNetService::ExcludeServer(), Get(), CNetCacheAPIExt::GetServer(), CNetICacheClientExt::GetServer(), CNetScheduleAPIExt::GetServer(), CNetStorageAdmin::GetServer(), SNetServiceImpl::IsInService(), SNetServiceImpl::Iterate(), CNetScheduleGetJobImpl< TImpl >::MoveToImmediateActions(), SNetCacheMirrorTraversal::NextServer(), CNetScheduleServerListener::OnConnected(), CNetStorageServerListener::OnErrorImpl(), CNetCacheServerListener::OnWarningImpl(), CNetScheduleServerListener::OnWarningImpl(), CNetStorageServerListener::OnWarningImpl(), CNetCacheReader::Read(), TryExec(), and SNetScheduleAPIImpl::x_ClearNode().
CNetService SNetServerImpl::m_Service |
Definition at line 284 of file srv_connections_impl.hpp.
Referenced by SThrottleStats::Adjust(), SThrottleStats::Check(), SNetServerInPool::Connect(), ConnectAndExec(), and SNetServerConnectionImpl::ReadCmdOutputLine().