Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ACE_SOCK_Dgram_Mcast_QoS Class Reference

Defines the member functions for the ACE QoS enabled socket wrapper for UDP/IP multicast. More...

#include <SOCK_Dgram_Mcast_QoS.h>

Inheritance diagram for ACE_SOCK_Dgram_Mcast_QoS

Inheritance graph
[legend]
Collaboration diagram for ACE_SOCK_Dgram_Mcast_QoS:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_SOCK_Dgram_Mcast_QoS (void)
 ~ACE_SOCK_Dgram_Mcast_QoS (void)
 Default dtor.

int subscribe (const ACE_INET_Addr &mcast_addr, const ACE_QoS_Params &qos_params, int reuse_addr = 1, const ACE_TCHAR *net_if = 0, int protocol_family = PF_INET, int protocol = 0, ACE_Protocol_Info *protocolinfo = 0, ACE_SOCK_GROUP g = 0, u_long flags = 0, ACE_QoS_Session *qos_session = 0)
ssize_t send (const iovec buffers[], int buffer_count, size_t &number_of_bytes_sent, int flags, const ACE_Addr &addr, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func) const
 Send <buffer_count> worth of <buffers> to using overlapped I/O (uses <WSASentTo>). Returns 0 on success.

ssize_t send (const void *buf, size_t n, const ACE_Addr &addr, int flags, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func) const
 Send an <n> byte <buf> to the datagram socket (uses <WSASentTo>).

ACE_QoS_Manager qos_manager (void)
 Returns the QoS manager for this socket.

int open (const ACE_Addr &addr, const ACE_QoS_Params &qos_params, int protocol_family = PF_INET, int protocol = 0, ACE_Protocol_Info *protocolinfo = 0, ACE_SOCK_GROUP g = 0, u_long flags = 0, int reuse_addr = 0)

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Private Methods

int subscribe_ifs (const ACE_INET_Addr &mcast_addr, const ACE_QoS_Params &qos_params, const ACE_TCHAR *net_if, int protocol_family, int protocol, int reuse_addr, ACE_Protocol_Info *protocolinfo)
 Subscribe to the multicast interface using QoS-enabled semantics.


Private Attributes

ACE_QoS_Manager qos_manager_
 Manages the QoS sessions that this socket subscribes to.


Detailed Description

Defines the member functions for the ACE QoS enabled socket wrapper for UDP/IP multicast.


Constructor & Destructor Documentation

ACE_SOCK_Dgram_Mcast_QoS::ACE_SOCK_Dgram_Mcast_QoS ( void )
 

ASYS_INLINE ACE_SOCK_Dgram_Mcast_QoS::~ACE_SOCK_Dgram_Mcast_QoS ( void )
 

Default dtor.


Member Function Documentation

int ACE_SOCK_Dgram_Mcast_QoS::open ( const ACE_Addr & addr,
const ACE_QoS_Params & qos_params,
int protocol_family = PF_INET,
int protocol = 0,
ACE_Protocol_Info * protocolinfo = 0,
ACE_SOCK_GROUP g = 0,
u_long flags = 0,
int reuse_addr = 0 )
 

Reimplemented from ACE_SOCK_Dgram_Mcast.

ASYS_INLINE ACE_QoS_Manager ACE_SOCK_Dgram_Mcast_QoS::qos_manager ( void )
 

Returns the QoS manager for this socket.

ASYS_INLINE ssize_t ACE_SOCK_Dgram_Mcast_QoS::send ( const void * buf,
size_t n,
const ACE_Addr & addr,
int flags,
ACE_OVERLAPPED * overlapped,
ACE_OVERLAPPED_COMPLETION_FUNC func ) const
 

Send an <n> byte <buf> to the datagram socket (uses <WSASentTo>).

Reimplemented from ACE_SOCK_Dgram.

ASYS_INLINE ssize_t ACE_SOCK_Dgram_Mcast_QoS::send ( const iovec buffers[],
int buffer_count,
size_t & number_of_bytes_sent,
int flags,
const ACE_Addr & addr,
ACE_OVERLAPPED * overlapped,
ACE_OVERLAPPED_COMPLETION_FUNC func ) const
 

Send <buffer_count> worth of <buffers> to using overlapped I/O (uses <WSASentTo>). Returns 0 on success.

Reimplemented from ACE_SOCK_Dgram.

int ACE_SOCK_Dgram_Mcast_QoS::subscribe ( const ACE_INET_Addr & mcast_addr,
const ACE_QoS_Params & qos_params,
int reuse_addr = 1,
const ACE_TCHAR * net_if = 0,
int protocol_family = PF_INET,
int protocol = 0,
ACE_Protocol_Info * protocolinfo = 0,
ACE_SOCK_GROUP g = 0,
u_long flags = 0,
ACE_QoS_Session * qos_session = 0 )
 

This is a QoS-enabled method for joining a multicast group, which passes <qos_params> via . The network interface device driver is instructed to accept datagrams with <mcast_addr> multicast addresses. If the socket has already been opened, <subscribe> closes the socket and opens a new socket bound to the <mcast_addr>. The session object specifies the QoS session that the socket wants to subscribe to. A socket may subscribe to multiple QoS sessions by calling this method multiple times with different session objects.

The <net_if> interface is hardware specific, e.g., use "netstat -i" to find whether your interface is, such as "le0" or something else. If net_if == 0, <subscribe> uses the default mcast interface. Returns: -1 if the call fails.

Note that some platforms, such as pSoS, support only number, not names, for network interfaces. For these platforms, just give these numbers in alphanumeric form and <subscribe> will convert them into numbers via .

int ACE_SOCK_Dgram_Mcast_QoS::subscribe_ifs ( const ACE_INET_Addr & mcast_addr,
const ACE_QoS_Params & qos_params,
const ACE_TCHAR * net_if,
int protocol_family,
int protocol,
int reuse_addr,
ACE_Protocol_Info * protocolinfo ) [private]
 

Subscribe to the multicast interface using QoS-enabled semantics.


Member Data Documentation

ACE_SOCK_Dgram_Mcast_QoS::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

ACE_QoS_Manager ACE_SOCK_Dgram_Mcast_QoS::qos_manager_ [private]
 

Manages the QoS sessions that this socket subscribes to.


The documentation for this class was generated from the following files:
Generated at Sat Dec 1 11:19:45 2001 for ACE_QoS by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000