The C++ framework for developing highly scalable, high performance servers on Windows platforms.

IDatagramSendSocket Class Reference
[SocketsDatagram SocketsInterfacesProtected destructors on abstract base classes]

Inheritance diagram for IDatagramSendSocket:
Collaboration diagram for IDatagramSendSocket:

List of all members.

Public Types

typedef char TimeToLive
typedef unsigned long DataLength
typedef unsigned short UserDataIndex

Public Member Functions

virtual void SendTo (const IAddress &address, const char *pData, DataLength dataLength)=0
virtual void SendTo (const IAddress &address, const BYTE *pData, DataLength dataLength)=0
virtual void SendTo (const IAddress &address, JetByteTools::IO::CSmartBuffer &buffer)=0
virtual bool TrySendTo (const IAddress &address, const char *pData, DataLength dataLength)=0
virtual bool TrySendTo (const IAddress &address, const BYTE *pData, DataLength dataLength)=0
virtual bool TrySendTo (const IAddress &address, JetByteTools::IO::CSmartBuffer &buffer)=0
virtual CAddress GetLocalAddress () const =0
virtual CAddress GetRemoteAddress () const =0
virtual void AddRef ()=0
virtual void Release ()=0
virtual bool WeOwnOnlyReference () const =0
virtual void Shutdown ()=0
virtual void Shutdown (ShutdownHow how)=0
virtual bool AbortConnection ()=0
virtual bool AbortConnection (ConnectionClosureReason reason)=0
virtual
ConnectionDirection 
GetConnectionDirection () const =0
virtual
JetByteTools::Core::ILockableObject
GetLock () const =0
 Returns the critical section that is used for locking this socket's data for multi-threaded use.
virtual void JoinMulticastGroup (const IAddress &groupAddress, const IAddress &interfaceAddress)=0
virtual void BlockMulticastGroupSource (const IAddress &groupAddress, const IAddress &interfaceAddress, const IAddress &sourceAddress)=0
virtual void UnblockMulticastGroupSource (const IAddress &groupAddress, const IAddress &interfaceAddress, const IAddress &sourceAddress)=0
virtual void LeaveMulticastGroup (const IAddress &groupAddress, const IAddress &interfaceAddress)=0
virtual void IncludeMulticastSource (const IAddress &groupAddress, const IAddress &interfaceAddress, const IAddress &sourceAddress)=0
virtual void ExcludeMulticastSource (const IAddress &groupAddress, const IAddress &interfaceAddress, const IAddress &sourceAddress)=0
virtual void SetMulticastSendInterface (const IAddress &interfaceAddress, TimeToLive multicastTTL=1, bool enableLoopback=false)=0
virtual void * GetUserPointer (UserDataIndex index) const =0
 Access the data stored at the specified index as a void pointer.
virtual void SetUserPointer (UserDataIndex index, void *pData)=0
 Update the data stored at the specified index as a void pointer.
virtual ULONG_PTR GetUserData (UserDataIndex index) const =0
 Access the data stored at the specified index as an unsigned long.
virtual void SetUserData (UserDataIndex index, ULONG_PTR data)=0
 Update the data stored at the specified index as an unsigned long.

Static Public Attributes

static
JETBYTE_CONSTEXPR
UserDataIndex 
InvalidUserDataIndex = 0xFFFF

Protected Member Functions

 ~IDatagramSendSocket ()
 We never delete instances of this interface; you must manage the lifetime of the class that implements it.


Member Typedef Documentation

typedef unsigned long DataLength [inherited]


Constructor & Destructor Documentation

~IDatagramSendSocket (  )  [protected]

We never delete instances of this interface; you must manage the lifetime of the class that implements it.


Member Function Documentation

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

Implemented in IDatagramSocket.

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

Implemented in IDatagramSocket.

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

Implemented in IDatagramSocket.

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

Implemented in IDatagramSocket.

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

Implemented in IDatagramSocket.

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

Implemented in IDatagramSocket.

virtual bool AbortConnection ( ConnectionClosureReason  reason  )  [pure virtual]

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

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

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

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

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

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

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


Member Data Documentation

JETBYTE_CONSTEXPR UserDataIndex InvalidUserDataIndex = 0xFFFF [static, inherited]


Generated on Sun Sep 12 19:10:17 2021 for The Server Framework - v7.4 by doxygen 1.5.3