NCBI C++ ToolKit
|
Search Toolkit Book for COSGCaller
#include "osg_caller.hpp"
(Private to src/app/pubseq_gateway/server
.)
Public Types | |
typedef vector< CRef< COSGFetch > > | TFetches |
![]() | |
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 | |
COSGCaller () | |
COSGCaller (const CRef< COSGConnectionPool > &connection_pool, const CRef< CRequestContext > &context, const TFetches &fetches) | |
virtual | ~COSGCaller () |
void | AllocateConnection (const CRef< COSGConnectionPool > &connection_pool) |
void | ReleaseConnection () |
void | SendRequest (CPSGS_OSGProcessorBase &processor) |
void | WaitForReplies (CPSGS_OSGProcessorBase &processor) |
const CID2_Request_Packet & | GetRequestPacket () const |
size_t | GetConnectionID () const |
![]() | |
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 |
Protected Member Functions | |
const CRef< COSGConnection > & | GetConnection () const |
CRef< CID2_Request > | MakeInitRequest () |
void | AddFetch (CID2_Request_Packet &packet, const CRef< COSGFetch > &fetch) |
CRef< CID2_Request_Packet > | MakePacket (const TFetches &fetches) |
size_t | GetRequestIndex (const CID2_Reply &reply) const |
bool | EndOfReplies (const CID2_Reply &reply) const |
bool | EndOfReplies (size_t index) const |
![]() | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Private Attributes | |
CRef< COSGConnectionPool > | m_ConnectionPool |
CRef< COSGConnection > | m_Connection |
CRef< CID2_Request_Packet > | m_RequestPacket |
vector< CRef< COSGFetch > > | m_Fetches |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
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... | |
Definition at line 62 of file osg_caller.hpp.
typedef vector<CRef<COSGFetch> > COSGCaller::TFetches |
Definition at line 65 of file osg_caller.hpp.
COSGCaller::COSGCaller | ( | ) |
Definition at line 55 of file osg_caller.cpp.
|
explicit |
|
virtual |
Definition at line 60 of file osg_caller.cpp.
|
protected |
Definition at line 94 of file osg_caller.cpp.
References COSGConnection::AllocateRequestSerialNumber(), CRef< C, Locker >::GetNCObject(), COSGFetch::GetRequest(), m_Connection, m_Fetches, COSGFetch::ResetReplies(), CID2_Request_Packet_Base::Set(), and CID2_Request_Base::SetSerial_number().
Referenced by MakePacket().
void COSGCaller::AllocateConnection | ( | const CRef< COSGConnectionPool > & | connection_pool | ) |
Definition at line 148 of file osg_caller.cpp.
References _ASSERT, COSGConnectionPool::AllocateConnection(), m_Connection, and m_ConnectionPool.
Referenced by CPSGS_OSGProcessorBase::DoProcess().
|
protected |
Referenced by GetRequestIndex(), and WaitForReplies().
|
protected |
|
inlineprotected |
Definition at line 86 of file osg_caller.hpp.
References m_Connection.
size_t COSGCaller::GetConnectionID | ( | ) | const |
Definition at line 142 of file osg_caller.cpp.
References COSGConnection::GetConnectionID(), and m_Connection.
Referenced by CPSGS_OSGProcessorBase::DoProcess().
|
protected |
Definition at line 123 of file osg_caller.cpp.
References EndOfReplies(), CID2_Request_Packet_Base::Get(), CID2_Reply_Base::GetSerial_number(), m_Fetches, m_RequestPacket, and NCBI_THROW_FMT.
Referenced by WaitForReplies().
|
inline |
Definition at line 78 of file osg_caller.hpp.
References m_RequestPacket.
Referenced by CPSGS_OSGProcessorBase::DoProcess().
|
protected |
Definition at line 65 of file osg_caller.cpp.
References CID2_Request_Base::SetParams(), and CID2_Request_Base::SetRequest().
Referenced by MakePacket().
|
protected |
Definition at line 107 of file osg_caller.cpp.
References AddFetch(), f(), COSGConnection::InitRequestWasSent(), kAlwaysSendInit, m_Connection, m_Fetches, MakeInitRequest(), and Ref().
Referenced by SendRequest().
void COSGCaller::ReleaseConnection | ( | ) |
Definition at line 157 of file osg_caller.cpp.
References _ASSERT, m_Connection, m_ConnectionPool, and COSGConnectionPool::ReleaseConnection().
Referenced by CPSGS_OSGProcessorBase::DoProcess(), and WaitForReplies().
void COSGCaller::SendRequest | ( | CPSGS_OSGProcessorBase & | processor | ) |
Definition at line 167 of file osg_caller.cpp.
References _ASSERT, CID2_Request_Packet_Base::Get(), COSGConnection::GetConnectionID(), CPSGS_OSGProcessorBase::GetFetches(), m_Connection, m_RequestPacket, MakePacket(), MSerial_AsnText, CPSGS_OSGProcessorBase::NeedTrace(), CPSGS_OSGProcessorBase::NotifyOSGCallStart(), COSGConnection::SendRequestPacket(), CPSGS_OSGProcessorBase::SendTrace(), and str().
Referenced by CPSGS_OSGProcessorBase::DoProcess().
void COSGCaller::WaitForReplies | ( | CPSGS_OSGProcessorBase & | processor | ) |
Definition at line 193 of file osg_caller.cpp.
References _ASSERT, EndOfReplies(), CID2_Error_Base::eSeverity_failed_command, CID2_Error_Base::eSeverity_failed_connection, CID2_Error_Base::eSeverity_failed_server, failed, CID2_Request_Packet_Base::Get(), COSGConnection::GetConnectionID(), GetRequestIndex(), m_Connection, m_Fetches, m_RequestPacket, MSerial_AsnText, NCBI_THROW_FMT, CPSGS_OSGProcessorBase::NeedTrace(), CPSGS_OSGProcessorBase::NotifyOSGCallEnd(), CPSGS_OSGProcessorBase::NotifyOSGCallReply(), COSGConnection::ReceiveReply(), ReleaseConnection(), CPSGS_OSGProcessorBase::SendTrace(), and str().
Referenced by CPSGS_OSGProcessorBase::DoProcess().
|
private |
Definition at line 101 of file osg_caller.hpp.
Referenced by AddFetch(), AllocateConnection(), GetConnection(), GetConnectionID(), MakePacket(), ReleaseConnection(), SendRequest(), and WaitForReplies().
|
private |
Definition at line 100 of file osg_caller.hpp.
Referenced by AllocateConnection(), and ReleaseConnection().
Definition at line 103 of file osg_caller.hpp.
Referenced by AddFetch(), GetRequestIndex(), MakePacket(), and WaitForReplies().
|
private |
Definition at line 102 of file osg_caller.hpp.
Referenced by GetRequestIndex(), GetRequestPacket(), SendRequest(), and WaitForReplies().