CDatagramServerSocket Class Reference
[Datagram SocketsSocketsOpaque user data]

Inheritance diagram for CDatagramServerSocket:

Inheritance graph
[legend]
Collaboration diagram for CDatagramServerSocket:

Collaboration graph
[legend]

List of all members.


Detailed Description

A datagram socket that allows you to SendTo() any host but restricts who you can RecvFrom(), basically you can only recv data from the port that the associated server is listening on.

Public Member Functions

 CDatagramServerSocket (JetByteTools::Win32::IIndexedOpaqueUserData::UserDataIndex numberOfUserDataSlots, const JetByteTools::Win32::ICriticalSectionFactory &lockFactory)
virtual void SendTo (const IAddress &address, const char *pData, const DataLength dataLength)
virtual void SendTo (const IAddress &address, const BYTE *pData, const DataLength dataLength)
virtual void SendTo (const IAddress &address, JetByteTools::IO::IBuffer &buffer)
virtual bool TrySendTo (const IAddress &address, const char *pData, const DataLength dataLength)
virtual bool TrySendTo (const IAddress &address, const BYTE *pData, const DataLength dataLength)
virtual bool TrySendTo (const IAddress &address, JetByteTools::IO::IBuffer &buffer)
virtual void Close ()
virtual CAddress GetRemoteAddress () const
virtual void JoinMulticastGroup (const IAddress &groupAddress, const IAddress &interfaceAddress)
virtual void BlockMulticastGroupSource (const IAddress &groupAddress, const IAddress &interfaceAddress, const IAddress &sourceAddress)
virtual void UnblockMulticastGroupSource (const IAddress &groupAddress, const IAddress &interfaceAddress, const IAddress &sourceAddress)
virtual void LeaveMulticastGroup (const IAddress &groupAddress, const IAddress &interfaceAddress)
virtual void IncludeMulticastSource (const IAddress &groupAddress, const IAddress &interfaceAddress, const IAddress &sourceAddress)
virtual void ExcludeMulticastSource (const IAddress &groupAddress, const IAddress &interfaceAddress, const IAddress &sourceAddress)
virtual void SetMulticastSendInterface (const IAddress &interfaceAddress, const TimeToLive multicastTTL=1, const bool enableLoopback=false)

Protected Member Functions

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 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

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


Member Function Documentation

void SendTo ( const IAddress address,
const char *  pData,
const DataLength  dataLength 
) [virtual]

void SendTo ( const IAddress address,
const BYTE *  pData,
const DataLength  dataLength 
) [virtual]

void SendTo ( const IAddress address,
JetByteTools::IO::IBuffer buffer 
) [virtual]

bool TrySendTo ( const IAddress address,
const char *  pData,
const DataLength  dataLength 
) [virtual]

bool TrySendTo ( const IAddress address,
const BYTE *  pData,
const DataLength  dataLength 
) [virtual]

bool TrySendTo ( const IAddress address,
JetByteTools::IO::IBuffer buffer 
) [virtual]

void Close (  )  [virtual]

Implements TAsyncSocket.

CAddress GetRemoteAddress (  )  const [virtual]

Reimplemented from TAsyncSocket.

void JoinMulticastGroup ( const IAddress groupAddress,
const IAddress interfaceAddress 
) [virtual]

void BlockMulticastGroupSource ( const IAddress groupAddress,
const IAddress interfaceAddress,
const IAddress sourceAddress 
) [virtual]

void UnblockMulticastGroupSource ( const IAddress groupAddress,
const IAddress interfaceAddress,
const IAddress sourceAddress 
) [virtual]

void LeaveMulticastGroup ( const IAddress groupAddress,
const IAddress interfaceAddress 
) [virtual]

void IncludeMulticastSource ( const IAddress groupAddress,
const IAddress interfaceAddress,
const IAddress sourceAddress 
) [virtual]

void ExcludeMulticastSource ( const IAddress groupAddress,
const IAddress interfaceAddress,
const IAddress sourceAddress 
) [virtual]

void SetMulticastSendInterface ( const IAddress interfaceAddress,
const TimeToLive  multicastTTL = 1,
const bool  enableLoopback = false 
) [virtual]

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]

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:28 2007 for JetByte Tools - v5.2 by  doxygen 1.5.3