TAsyncSocket Class Template Reference
[SocketsTemplates]

Inheritance diagram for TAsyncSocket:

Inheritance graph
[legend]
Collaboration diagram for TAsyncSocket:

Collaboration graph
[legend]

List of all members.


Detailed Description

template<class Base, class Manager, class Callback>
class JetByteTools::Socket::TAsyncSocket< Base, Manager, Callback >

A template class that provides most of the functionality that is shared between all socket types.

Protected Member Functions

 TAsyncSocket (JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex numberOfUserDataSlots, JetByteTools::Win32::ICriticalSection &criticalSection)
 Create a socket with the specified number of user data slots.
 ~TAsyncSocket ()
virtual void Read ()
virtual void Read (JetByteTools::IO::IBuffer &buffer)
virtual void Read (JetByteTools::IO::IBuffer *pBuffer)
virtual void Write (const char *pData, const JetByteTools::IO::IStream::DataLength dataLength)
virtual void Write (const BYTE *pData, const JetByteTools::IO::IStream::DataLength dataLength)
virtual void Write (JetByteTools::IO::IBuffer &buffer)
virtual bool TryRead () throw ()
virtual bool TryRead (JetByteTools::IO::IBuffer &buffer)
virtual bool TryRead (JetByteTools::IO::IBuffer *pBuffer)
virtual bool TryWrite (const char *pData, const JetByteTools::IO::IStream::DataLength dataLength) throw ()
virtual bool TryWrite (const BYTE *pData, const JetByteTools::IO::IStream::DataLength dataLength) throw ()
virtual bool TryWrite (JetByteTools::IO::IBuffer &buffer) throw ()
virtual void Shutdown ()
virtual void Shutdown (const ShutdownHow how)
virtual void AbortConnection ()=0
virtual CAddress GetLocalAddress () const
virtual CAddress GetRemoteAddress () const
virtual void AddRef ()
virtual void Release ()
virtual void Attach (IPoolableSocketManager &manager, ISocketCallback &callback, SOCKET socket)
virtual void AbortConnectionIfManagedBy (const IPoolableSocketManager &manager)
virtual void HandleOperation (JetByteTools::IO::IBuffer *pBuffer, const DWORD ioSize, const DWORD lastError)
 Implement IHandler.
virtual void * GetUserPointer (const JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex index) const
virtual void SetUserPointer (const JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex index, void *pData)
virtual ULONG_PTR GetUserData (const JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex index) const
virtual void SetUserData (const JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex index, const ULONG_PTR data)
virtual void WriteCompleted ()
virtual
JetByteTools::Win32::ICriticalSection
GetLock () const
virtual void Accepted ()
virtual void Connected ()
virtual
ConnectionDirection 
GetConnectionDirection () const
virtual SOCKET GetSocket () const
virtual bool WritePending ()
virtual void ForceWritePending ()
void IncrementReferenceCountFromZero ()
bool IsValid () const

Protected Attributes

Manager * m_pManager
Callback * m_pCallback
SOCKET m_socket
long m_outstandingWrites
bool m_writeShutdown
ConnectionDirection m_direction
JetByteTools::Win32::ICriticalSectionm_criticalSection

Constructor & Destructor Documentation

TAsyncSocket ( JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex  numberOfUserDataSlots,
JetByteTools::Win32::ICriticalSection criticalSection 
) [inline, explicit, protected]

Create a socket with the specified number of user data slots.

~TAsyncSocket (  )  [inline, protected]


Member Function Documentation

void Read (  )  [inline, protected, virtual]

void Read ( JetByteTools::IO::IBuffer buffer  )  [inline, protected, virtual]

void Read ( JetByteTools::IO::IBuffer pBuffer  )  [inline, protected, virtual]

void Write ( const char *  pData,
const JetByteTools::IO::IStream::DataLength  dataLength 
) [inline, protected, virtual]

void Write ( const BYTE *  pData,
const JetByteTools::IO::IStream::DataLength  dataLength 
) [inline, protected, virtual]

void Write ( JetByteTools::IO::IBuffer buffer  )  [inline, protected, virtual]

bool TryRead (  )  throw () [inline, protected, virtual]

bool TryRead ( JetByteTools::IO::IBuffer buffer  )  [inline, protected, virtual]

bool TryRead ( JetByteTools::IO::IBuffer pBuffer  )  [inline, protected, virtual]

bool TryWrite ( const char *  pData,
const JetByteTools::IO::IStream::DataLength  dataLength 
) throw () [inline, protected, virtual]

bool TryWrite ( const BYTE *  pData,
const JetByteTools::IO::IStream::DataLength  dataLength 
) throw () [inline, protected, virtual]

bool TryWrite ( JetByteTools::IO::IBuffer buffer  )  throw () [inline, protected, virtual]

void Shutdown (  )  [inline, protected, virtual]

void Shutdown ( const ShutdownHow  how  )  [inline, protected, virtual]

virtual void AbortConnection (  )  [protected, pure virtual]

Implemented in CDatagramServerSocket, CDatagramSocket, and CStreamSocket.

CAddress GetLocalAddress (  )  const [inline, protected, virtual]

CAddress GetRemoteAddress (  )  const [inline, protected, virtual]

Reimplemented in CDatagramServerSocket.

void AddRef (  )  [inline, protected, virtual]

void Release (  )  [inline, protected, virtual]

void Attach ( IPoolableSocketManager manager,
ISocketCallback callback,
SOCKET  socket 
) [inline, protected, virtual]

void AbortConnectionIfManagedBy ( const IPoolableSocketManager manager  )  [inline, protected, virtual]

void HandleOperation ( JetByteTools::IO::IBuffer pBuffer,
const DWORD  ioSize,
const DWORD  lastError 
) [inline, protected, virtual]

Implement IHandler.

void * GetUserPointer ( const JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex  index  )  const [inline, protected, virtual]

void SetUserPointer ( const JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex  index,
void *  pData 
) [inline, protected, virtual]

ULONG_PTR GetUserData ( const JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex  index  )  const [inline, protected, virtual]

void SetUserData ( const JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex  index,
const ULONG_PTR  data 
) [inline, protected, virtual]

void WriteCompleted (  )  [inline, protected, virtual]

JetByteTools::Win32::ICriticalSection & GetLock (  )  const [inline, protected, virtual]

void Accepted (  )  [inline, protected, virtual]

void Connected (  )  [inline, protected, virtual]

ConnectionDirection GetConnectionDirection (  )  const [inline, protected, virtual]

SOCKET GetSocket (  )  const [inline, protected, virtual]

bool WritePending (  )  [inline, protected, virtual]

void ForceWritePending (  )  [inline, protected, virtual]

void IncrementReferenceCountFromZero (  )  [inline, protected]

bool IsValid (  )  const [inline, protected]


Member Data Documentation

Manager* m_pManager [protected]

Callback* m_pCallback [protected]

SOCKET m_socket [protected]

long m_outstandingWrites [protected]

bool m_writeShutdown [protected]

ConnectionDirection m_direction [protected]

JetByteTools::Win32::ICriticalSection& m_criticalSection [protected]


Generated on Thu Mar 26 16:40:20 2009 for JetByte Socket Tools - v6.0 by  doxygen 1.5.3