ACE_QoS
6.3.3
|
Defines the member functions for the ACE QoS enabled socket wrapper for UDP/IP multicast. More...
#include <SOCK_Dgram_Mcast_QoS.h>
Public Member Functions | |
ACE_SOCK_Dgram_Mcast_QoS (options opts=DEFOPTS) | |
Ctor, has same defaults as ACE_SOCK_Dgram_Mcast. More... | |
~ACE_SOCK_Dgram_Mcast_QoS (void) | |
Default dtor. More... | |
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 |
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>). More... | |
ACE_QoS_Manager | qos_manager (void) |
Returns the QoS manager for this socket. More... | |
int | open (const ACE_INET_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 Member Functions inherited from ACE_SOCK_Dgram_Mcast | |
ACE_SOCK_Dgram_Mcast (options opts=DEFOPTS) | |
~ACE_SOCK_Dgram_Mcast (void) | |
int | open (const ACE_INET_Addr &mcast_addr, const ACE_TCHAR *net_if=0, int reuse_addr=1) |
int | join (const ACE_INET_Addr &mcast_addr, int reuse_addr=1, const ACE_TCHAR *net_if=0) |
int | leave (const ACE_INET_Addr &mcast_addr, const ACE_TCHAR *net_if=0) |
ssize_t | send (const void *buf, size_t n, int flags=0) const |
ssize_t | send (const iovec iov[], int n, int flags=0) const |
int | set_option (int option, char optval) |
void | dump (void) const |
void | opts (int opts) |
int | opts () const |
Public Member Functions inherited from ACE_SOCK_Dgram | |
ACE_SOCK_Dgram (void) | |
ACE_SOCK_Dgram (const ACE_Addr &local, int protocol_family=ACE_PROTOCOL_FAMILY_INET, int protocol=0, int reuse_addr=0) | |
ACE_SOCK_Dgram (const ACE_Addr &local, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g=0, u_long flags=0, int reuse_addr=0) | |
int | open (const ACE_Addr &local, int protocol_family=ACE_PROTOCOL_FAMILY_INET, int protocol=0, int reuse_addr=0) |
int | open (const ACE_Addr &local, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g=0, u_long flags=0, int reuse_addr=0) |
~ACE_SOCK_Dgram (void) | |
ssize_t | send (const void *buf, size_t n, const ACE_Addr &addr, int flags=0) const |
ssize_t | recv (void *buf, size_t n, ACE_Addr &addr, int flags=0) const |
ssize_t | recv (iovec *io_vec, ACE_Addr &addr, int flags=0, const ACE_Time_Value *timeout=0) const |
ssize_t | send (const iovec iov[], int n, const ACE_Addr &addr, int flags=0) const |
ssize_t | recv (iovec iov[], int n, ACE_Addr &addr, int flags=0) const |
ssize_t | recv (void *buf, size_t n, ACE_Addr &addr, int flags, const ACE_Time_Value *timeout) const |
ssize_t | send (const void *buf, size_t n, const ACE_Addr &addr, int flags, const ACE_Time_Value *timeout) const |
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 |
ssize_t | recv (iovec buffers[], int buffer_count, size_t &number_of_bytes_recvd, int &flags, ACE_Addr &addr, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func) const |
ssize_t | send (const void *buf, size_t n, const ACE_Addr &addr, int flags, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func) const |
ssize_t | recv (void *buf, size_t n, ACE_Addr &addr, int flags, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func) const |
void | dump (void) const |
int | set_nic (const ACE_TCHAR *net_if, int addr_family=AF_UNSPEC) |
Public Member Functions inherited from ACE_SOCK | |
int | set_option (int level, int option, void *optval, int optlen) const |
int | get_option (int level, int option, void *optval, int *optlen) const |
int | close (void) |
int | get_local_addr (ACE_Addr &) const |
int | get_remote_addr (ACE_Addr &) const |
void | dump (void) const |
int | open (int type, int protocol_family, int protocol, int reuse_addr) |
int | open (int type, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags, int reuse_addr) |
Public Member Functions inherited from ACE_IPC_SAP | |
int | control (int cmd, void *) const |
int | enable (int value) const |
int | disable (int value) const |
ACE_HANDLE | get_handle (void) const |
void | set_handle (ACE_HANDLE handle) |
void | dump (void) const |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. More... | |
Public Attributes inherited from ACE_SOCK_Dgram_Mcast | |
OPT_BINDADDR_NO | |
OPT_BINDADDR_YES | |
DEFOPT_BINDADDR | |
OPT_NULLIFACE_ONE | |
OPT_NULLIFACE_ALL | |
DEFOPT_NULLIFACE | |
DEFOPTS | |
ACE_ALLOC_HOOK_DECLARE | |
Public Attributes inherited from ACE_SOCK_Dgram | |
ACE_ALLOC_HOOK_DECLARE | |
Public Attributes inherited from ACE_SOCK | |
ACE_ALLOC_HOOK_DECLARE | |
Public Attributes inherited from ACE_IPC_SAP | |
ACE_ALLOC_HOOK_DECLARE | |
Private Member Functions | |
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. More... | |
Private Attributes | |
ACE_QoS_Manager | qos_manager_ |
Manages the QoS sessions that this socket subscribes to. More... | |
Additional Inherited Members | |
Public Types inherited from ACE_SOCK_Dgram_Mcast | |
enum | options |
Public Types inherited from ACE_SOCK_Dgram | |
typedef ACE_INET_Addr | PEER_ADDR |
Protected Member Functions inherited from ACE_SOCK_Dgram_Mcast | |
int | open_i (const ACE_INET_Addr &mcast_addr, const ACE_TCHAR *net_if=0, int reuse_addr=1) |
int | clear_subs_list (void) |
Protected Member Functions inherited from ACE_SOCK_Dgram | |
int | shared_open (const ACE_Addr &local, int protocol_family) |
int | make_multicast_ifaddr (ip_mreq *mreq, const ACE_INET_Addr &mcast_addr, const ACE_TCHAR *net_if) |
int | make_multicast_ifaddr6 (ipv6_mreq *mreq, const ACE_INET_Addr &mcast_addr, const ACE_TCHAR *net_if) |
Protected Member Functions inherited from ACE_SOCK | |
ACE_SOCK (int type, int protocol_family, int protocol=0, int reuse_addr=0) | |
ACE_SOCK (int type, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags, int reuse_addr) | |
ACE_SOCK (void) | |
~ACE_SOCK (void) | |
Protected Member Functions inherited from ACE_IPC_SAP | |
ACE_IPC_SAP (void) | |
~ACE_IPC_SAP (void) | |
Defines the member functions for the ACE QoS enabled socket wrapper for UDP/IP multicast.
Ctor, has same defaults as ACE_SOCK_Dgram_Mcast.
|
inline |
Default dtor.
int ACE_SOCK_Dgram_Mcast_QoS::open | ( | const ACE_INET_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 |
||
) |
|
inline |
Returns the QoS manager for this socket.
|
inline |
Send <buffer_count> worth of buffers to addr using overlapped I/O (uses <WSASentTo>). Returns 0 on success.
|
inline |
Send an n byte buf to the datagram socket (uses <WSASentTo>).
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 <ACE_OS::join_leaf>. 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 <ACE_OS::atoi>.
|
private |
Subscribe to the multicast interface using QoS-enabled semantics.
ACE_SOCK_Dgram_Mcast_QoS::ACE_ALLOC_HOOK_DECLARE |
Declare the dynamic allocation hooks.
|
private |
Manages the QoS sessions that this socket subscribes to.