NAME

ACE_SOCK_Dgram_Mcast - Defines the member functions for the ACE_SOCK multicast abstraction.

SYNOPSIS


#include <ace/SOCK_Dgram_Mcast.h>


class ACE_SOCK_Dgram_Mcast : public ACE_SOCK_Dgram
{
  public:
    ACE_SOCK_Dgram_Mcast (void);
    int subscribe (
        const ACE_INET_Addr &mcast_addr,
        int reuse_addr = 1,
        const char *net_if = 0,
        int protocol_family = PF_INET,
        int protocol = 0
        );
    int unsubscribe (void);
    ssize_t send (const void *buf, size_t n, int flags = 0) const;
    ssize_t send (const iovec iov[], size_t n, int flags = 0) const;
    int set_option (int option, char optval);
    void dump (void) const;
    ACE_ALLOC_HOOK_DECLARE;
  private:
    ACE_HANDLE open (
        const ACE_Addr &local,
        int protocol_family = PF_INET,
        int protocol = 0
        );
    ssize_t send (
        const void *buf,
        size_t n,
        const ACE_Addr &addr,
        int flags = 0
        ) const;
    ssize_t send (
        const iovec iov[],
        size_t n,
        const ACE_Addr &addr,
        int flags = 0
        ) const;
    int make_multicast_address (
        const ACE_INET_Addr &mcast_addr,
        const char *net_if = "le0"
        );
    ACE_INET_Addr mcast_addr_;
};

Initialization routine.

ACE_SOCK_Dgram_Mcast (void);

Multicast group management routines.

int subscribe (
    const ACE_INET_Addr &mcast_addr,
    int reuse_addr = 1,
    const char *net_if = 0,
    int protocol_family = PF_INET,
    int protocol = 0
    );
int unsubscribe (void);

Data transfer routines.

ssize_t send (const void *buf, size_t n, int flags = 0) const;
ssize_t send (const iovec iov[], size_t n, int flags = 0) const;

Options.

int set_option (int option, char optval);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;

Disable public use of ACE_SOCK_Dgram::sends and force

ACE_SOCK_Dgram_Mcast::sends inline
ssize_t send (
    const void *buf,
    size_t n,
    const ACE_Addr &addr,
    int flags = 0
    ) const;
ssize_t send (
    const iovec iov[],
    size_t n,
    const ACE_Addr &addr,
    int flags = 0
    ) const;
int make_multicast_address (
    const ACE_INET_Addr &mcast_addr,
    const char *net_if = "le0"
    );
ACE_INET_Addr mcast_addr_;
IP address.

AUTHORS

Irfan Pyrali (ip1@cs.wustl.edu) Tim Harrison (harrison@cs.wustl.edu)

LIBRARY

ace