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

[legend]
Collaboration diagram for ACE_SOCK_Dgram_Mcast_QoS:

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

- SOCK_Dgram_Mcast_QoS.h
- SOCK_Dgram_Mcast_QoS.cpp
- SOCK_Dgram_Mcast_QoS.i