NCBI C++ ToolKit
Public Member Functions | Private Member Functions | Private Attributes | List of all members
CWNCTConnectionHandler Class Reference

Search Toolkit Book for CWNCTConnectionHandler

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

+ Inheritance diagram for CWNCTConnectionHandler:
+ Collaboration diagram for CWNCTConnectionHandler:

Public Member Functions

 CWNCTConnectionHandler (CWorkerNodeControlServer &server)
 
virtual ~CWNCTConnectionHandler ()
 
virtual void OnOpen (void)
 Runs in response to an external event [asynchronous]. More...
 
virtual void OnMessage (BUF buffer)
 
virtual void OnWrite ()
 The client is ready to receive data. More...
 
- Public Member Functions inherited from IServer_LineMessageHandler
 IServer_LineMessageHandler ()
 
virtual int CheckMessage (BUF *buffer, const void *data, size_t size)
 
- Public Member Functions inherited from IServer_MessageHandler
 IServer_MessageHandler ()
 
virtual ~IServer_MessageHandler ()
 
virtual void OnRead (void)
 The client has just sent data. More...
 
- Public Member Functions inherited from IServer_ConnectionHandler
virtual ~IServer_ConnectionHandler ()
 
virtual EIO_Event GetEventsToPollFor (const CTime **) const
 Following three methods are guaranteed to be called NOT at the same time as On*, so if you implement them you should not guard the variables which they can use with mutexes. More...
 
virtual const STimeoutGetTimeout (void)
 Returns the timeout for this connection. More...
 
virtual bool IsOpen (void)
 Returns connection handler's perception of whether we open or not. More...
 
virtual bool IsReadyToProcess (void) const
 Returns the handler's readiness to process input data or to write some output data. More...
 
virtual void OnClose (EClosePeer)
 The connection has closed (with information on type of closing) More...
 
virtual void OnTimeout (void)
 Runs when a client has been idle for too long, prior to closing the connection [synchronous]. More...
 
virtual void OnTimer (void)
 This method is called at the moment in time specified earlier by the alarm_time parameter of the GetEventsToPollFor method [synchronous]. More...
 
virtual void OnOverflow (EOverflowReason)
 Runs when there are insufficient resources to queue a connection, prior to closing it. More...
 
virtual void OnError (const string &)
 Runs when a socket error is detected. More...
 
CSocketGetSocket (void)
 Get underlying socket. More...
 
void SetSocket (CSocket *socket)
 

Private Member Functions

void x_ProcessAuth (BUF buffer)
 
void x_ProcessQueue (BUF buffer)
 
void x_ProcessRequest (BUF buffer)
 
 CWNCTConnectionHandler (const CWNCTConnectionHandler &)
 
CWNCTConnectionHandleroperator= (const CWNCTConnectionHandler &)
 

Private Attributes

CWorkerNodeControlServerm_Server
 
string m_Auth
 
string m_Queue
 
void(CWNCTConnectionHandler::* m_ProcessMessage )(BUF buffer)
 

Additional Inherited Members

- Public Types inherited from IServer_ConnectionHandler
enum  EClosePeer { eOurClose , eClientClose }
 Type of connection closing. More...
 

Detailed Description

Definition at line 99 of file grid_control_thread.hpp.

Constructor & Destructor Documentation

◆ CWNCTConnectionHandler() [1/2]

CWNCTConnectionHandler::CWNCTConnectionHandler ( CWorkerNodeControlServer server)

Definition at line 452 of file grid_control_thread.cpp.

◆ ~CWNCTConnectionHandler()

CWNCTConnectionHandler::~CWNCTConnectionHandler ( )
virtual

Definition at line 456 of file grid_control_thread.cpp.

◆ CWNCTConnectionHandler() [2/2]

CWNCTConnectionHandler::CWNCTConnectionHandler ( const CWNCTConnectionHandler )
private

Member Function Documentation

◆ OnMessage()

void CWNCTConnectionHandler::OnMessage ( BUF  buffer)
virtual

◆ OnOpen()

void CWNCTConnectionHandler::OnOpen ( void  )
virtual

Runs in response to an external event [asynchronous].

You can get socket by calling GetSocket(), if you close the socket this object will be destroyed. Individual events are: A client has just established this connection.

Implements IServer_ConnectionHandler.

Definition at line 459 of file grid_control_thread.cpp.

References CSocket::DisableOSSendDelay(), IServer_ConnectionHandler::GetSocket(), m_ProcessMessage, and x_ProcessAuth().

◆ OnWrite()

virtual void CWNCTConnectionHandler::OnWrite ( )
inlinevirtual

The client is ready to receive data.

Implements IServer_ConnectionHandler.

Definition at line 109 of file grid_control_thread.hpp.

◆ operator=()

CWNCTConnectionHandler& CWNCTConnectionHandler::operator= ( const CWNCTConnectionHandler )
private

◆ x_ProcessAuth()

void CWNCTConnectionHandler::x_ProcessAuth ( BUF  buffer)
private

Definition at line 484 of file grid_control_thread.cpp.

References buffer, m_Auth, m_ProcessMessage, s_ReadStrFromBUF(), and x_ProcessQueue().

Referenced by OnOpen().

◆ x_ProcessQueue()

void CWNCTConnectionHandler::x_ProcessQueue ( BUF  buffer)
private

Definition at line 489 of file grid_control_thread.cpp.

References buffer, m_ProcessMessage, m_Queue, s_ReadStrFromBUF(), and x_ProcessRequest().

Referenced by x_ProcessAuth().

◆ x_ProcessRequest()

void CWNCTConnectionHandler::x_ProcessRequest ( BUF  buffer)
private

Member Data Documentation

◆ m_Auth

string CWNCTConnectionHandler::m_Auth
private

Definition at line 114 of file grid_control_thread.hpp.

Referenced by x_ProcessAuth(), and x_ProcessRequest().

◆ m_ProcessMessage

void(CWNCTConnectionHandler::* CWNCTConnectionHandler::m_ProcessMessage) (BUF buffer)
private

Definition at line 117 of file grid_control_thread.hpp.

Referenced by OnMessage(), OnOpen(), x_ProcessAuth(), and x_ProcessQueue().

◆ m_Queue

string CWNCTConnectionHandler::m_Queue
private

Definition at line 115 of file grid_control_thread.hpp.

Referenced by x_ProcessQueue(), and x_ProcessRequest().

◆ m_Server

CWorkerNodeControlServer& CWNCTConnectionHandler::m_Server
private

Definition at line 113 of file grid_control_thread.hpp.

Referenced by x_ProcessRequest().


The documentation for this class was generated from the following files:
Modified on Sat Apr 13 11:43:35 2024 by modify_doxy.py rev. 669887