CStreamSocket Class Reference
[Stream SocketsSocketsOpaque user data]

Inheritance diagram for CStreamSocket:

Inheritance graph
[legend]
Collaboration diagram for CStreamSocket:

Collaboration graph
[legend]

List of all members.


Detailed Description

A stream socket. Note that this socket does NOT support read and write sequencing.

Public Member Functions

 CStreamSocket (JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex numberOfUserDataSlots, const JetByteTools::Win32::ICriticalSectionFactory &lockFactory)
 Create a socket with the specified number of user data slots and with an instance of ICriticalSection obtained from the supplied factory.
virtual void Close ()
virtual void SetNagle (const bool nagle) const
virtual DataLength GetReceiveBufferSize () const
virtual DataLength SetReceiveBufferSize (const DataLength requestedSize)
virtual DataLength SetSendBufferSize (const DataLength requestedSize)
virtual DataLength GetSendBufferSize () const

Protected Member Functions

 ~CStreamSocket ()
virtual void OnAttach ()
virtual void OnDetach ()
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 ()
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)
virtual bool TryWrite (const BYTE *pData, const JetByteTools::IO::IStream::DataLength dataLength)
virtual bool TryWrite (JetByteTools::IO::IBuffer &buffer)
virtual void Shutdown ()
virtual void Shutdown (const ShutdownHow how)
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 CloseIfManagedBy (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

CStreamSocket ( JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex  numberOfUserDataSlots,
const JetByteTools::Win32::ICriticalSectionFactory lockFactory 
)

Create a socket with the specified number of user data slots and with an instance of ICriticalSection obtained from the supplied factory.

~CStreamSocket (  )  [protected]


Member Function Documentation

void Close (  )  [virtual]

Implements TAsyncSocket.

void SetNagle ( const bool  nagle  )  const [virtual]

CStreamSocket::DataLength GetReceiveBufferSize (  )  const [virtual]

CStreamSocket::DataLength SetReceiveBufferSize ( const DataLength  requestedSize  )  [virtual]

CStreamSocket::DataLength SetSendBufferSize ( const DataLength  requestedSize  )  [virtual]

CStreamSocket::DataLength GetSendBufferSize (  )  const [virtual]

void OnAttach (  )  [protected, virtual]

Reimplemented from TAsyncSocket.

Reimplemented in CSequencedStreamSocket.

void OnDetach (  )  [protected, virtual]

Reimplemented from TAsyncSocket.

Reimplemented in CSequencedStreamSocket.

void Read (  )  [inline, protected, virtual, inherited]

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

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

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

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

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

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

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

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

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

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

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

void Shutdown (  )  [inline, protected, virtual, inherited]

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

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

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

Reimplemented in CDatagramServerSocket.

void AddRef (  )  [inline, protected, virtual, inherited]

void Release (  )  [inline, protected, virtual, inherited]

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

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

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

Implement IHandler.

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

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

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

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

void WriteCompleted (  )  [inline, protected, virtual, inherited]

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

void Accepted (  )  [inline, protected, virtual, inherited]

void Connected (  )  [inline, protected, virtual, inherited]

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

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

bool WritePending (  )  [inline, protected, virtual, inherited]

void ForceWritePending (  )  [inline, protected, virtual, inherited]

void IncrementReferenceCountFromZero (  )  [inline, protected, inherited]

bool IsValid (  )  const [inline, protected, inherited]


Member Data Documentation

Manager* m_pManager [protected, inherited]

Callback* m_pCallback [protected, inherited]

SOCKET m_socket [protected, inherited]

long m_outstandingWrites [protected, inherited]

bool m_writeShutdown [protected, inherited]

ConnectionDirection m_direction [protected, inherited]

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


Generated on Tue Oct 2 15:45:34 2007 for JetByte Tools - v5.2 by  doxygen 1.5.3