Overview   Project   Class   Tree   Deprecated   Index 
0 A.D.
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD

network
Class CMessageSocket

CSocketBase
   |
   +--CStreamSocket, IMessagePipeEnd
         |
         +--CMessageSocket

   in Network.h
   in Network.cpp
Direct Known Subclasses:
CNetSession

class CMessageSocket
extends CStreamSocket, IMessagePipeEnd

Implements a Message Pipe over an Async IO stream socket. All methods that this class exposes are thread safe and may be called from any thread.


Field Summary
private CLockedMessageDeque m_InQ
          
private bool m_IsWriting
          
private CLockedMessageDeque m_OutQ
          
private u8* m_pRdBuffer
          
private u8* m_pWrBuffer
          
private uint m_RdBufferSize
          
private bool m_ReadingData
          
private uint m_WrBufferSize
          
 
Constructor Summary
CMessageSocket()
          
CMessageSocket( CSocketInternal* pInt )
          
virtual ~CMessageSocket()
          
 
Method Summary
 PS_RESULT BeginConnect( const char* address, int port )
          See CStreamSocket::BeginConnect.
protected virtual void ConnectComplete( PS_RESULT )
          
protected void OnClose( PS_RESULT errorCode )
          
protected virtual void OnMessage( CNetMessage* pMsg )
          
 virtual void Push( CNetMessage* )
          
protected virtual void ReadComplete( PS_RESULT )
          
private void StartReadHeader()
          
private void StartReadMessage()
          
private void StartWriteNextMessage()
          
 virtual CNetMessage* TryPop()
          
protected virtual void WriteComplete( PS_RESULT )
          
   
Methods inherited from class CStreamSocket
BeginConnect, Read, Write, OnClose, ConnectComplete, ReadComplete, WriteComplete, OnWrite, OnRead, SetSocketOptions, Lock, Unlock
   
Methods inherited from class IMessagePipeEnd
Push, TryPop
   
Methods inherited from class CSocketBase
Shutdown, Initialize, Close, Destroy, SetNonBlocking, SetTcpNoDelay, Read, Write, Connect, Bind, PreAccept, Accept, Reject, GetOpMask, SetOpMask, GetProtocol, IsNonBlocking, GetErrorState, GetState, GetRemoteAddress, OnRead, OnWrite, OnClose
 

Field Detail

m_InQ

private CLockedMessageDeque m_InQ;

m_IsWriting

private bool m_IsWriting;

m_OutQ

private CLockedMessageDeque m_OutQ;

m_pRdBuffer

private u8* m_pRdBuffer;

m_pWrBuffer

private u8* m_pWrBuffer;

m_RdBufferSize

private uint m_RdBufferSize;

m_ReadingData

private bool m_ReadingData;

m_WrBufferSize

private uint m_WrBufferSize;


Constructor Detail

CMessageSocket

public CMessageSocket();

CMessageSocket

public CMessageSocket( CSocketInternal* pInt );

~CMessageSocket

public virtual ~CMessageSocket();


Method Detail

BeginConnect

public PS_RESULT BeginConnect( const char* address, int port );
See CStreamSocket::BeginConnect.

ConnectComplete

protected virtual void ConnectComplete( PS_RESULT );

OnClose

protected void OnClose( PS_RESULT errorCode );

OnMessage

protected virtual void OnMessage( CNetMessage* pMsg );

Push

public virtual void Push( CNetMessage* );

ReadComplete

protected virtual void ReadComplete( PS_RESULT );

StartReadHeader

private void StartReadHeader();

StartReadMessage

private void StartReadMessage();

StartWriteNextMessage

private void StartWriteNextMessage();

TryPop

public virtual CNetMessage* TryPop();

WriteComplete

protected virtual void WriteComplete( PS_RESULT );

 Overview   Project   Class   Tree   Deprecated   Index 
0 A.D.
Generated on September 04, 2007 at 18:13
CppDoc v2.4.0
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD