Artemus::Proxy::ClientConnection Class Reference

Handler for a single client socket connection. More...

Collaboration diagram for Artemus::Proxy::ClientConnection:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ClientConnection (ClientConnectionManager manager)
 Constructs a new ClientConnection instance.
void CloseConnection ()
 Closes the connection if it is open and stops the processing thread.
void OpenConnection (Socket socket)
 Opens a connection on the given socket.
void QueueServerResponse (PacketReader reader)
 Queues a server response for this client.

Properties

bool IsDisconnected [get]
 Gets the status of the connection. True = disconnected.

Private Member Functions

void ThreadProc ()
 The processing thread entry point.

Private Attributes

int m_bufferSize
uint m_clientVersion
bool m_fullyConnected
bool m_isDisconnected
ClientConnectionManager m_manager
uint m_proxyVersion = 0x00000100
Queue< PacketReader > m_serverResponseQueue
Mutex m_serverResponseQueueMutex
Socket m_socket = null
Thread m_thread = null
ManualResetEvent m_threadExitEvent = null


Detailed Description

Handler for a single client socket connection.


Constructor & Destructor Documentation

Artemus::Proxy::ClientConnection::ClientConnection ( ClientConnectionManager  manager  )  [inline]

Constructs a new ClientConnection instance.

Parameters:
manager The owning ClientConnectionManager


Member Function Documentation

void Artemus::Proxy::ClientConnection::CloseConnection (  )  [inline]

Closes the connection if it is open and stops the processing thread.

void Artemus::Proxy::ClientConnection::OpenConnection ( Socket  socket  )  [inline]

Opens a connection on the given socket.

Parameters:
socket The connection socket.

void Artemus::Proxy::ClientConnection::QueueServerResponse ( PacketReader  reader  )  [inline]

Queues a server response for this client.

Parameters:
reader The PacketReader of the server response.

void Artemus::Proxy::ClientConnection::ThreadProc (  )  [inline, private]

The processing thread entry point.


Member Data Documentation

ManualResetEvent Artemus::Proxy::ClientConnection::m_threadExitEvent = null [private]


Property Documentation

bool Artemus::Proxy::ClientConnection::IsDisconnected [get]

Gets the status of the connection. True = disconnected.


The documentation for this class was generated from the following file:

Generated on Sat Jul 19 14:22:33 2008 for Artemus Proxy by  doxygen 1.5.5