ACE 8.0.5
Loading...
Searching...
No Matches
ACE_SOCK_Dgram_Bcast Class Reference

Defines the member functions for the ACE_SOCK datagram abstraction. More...

#include <SOCK_Dgram_Bcast.h>

Inheritance diagram for ACE_SOCK_Dgram_Bcast:
Collaboration diagram for ACE_SOCK_Dgram_Bcast:

Public Member Functions

 ACE_SOCK_Dgram_Bcast ()
 Default constructor.
 ACE_SOCK_Dgram_Bcast (const ACE_Addr &local, int protocol_family=PF_INET, int protocol=0, int reuse_addr=0, const ACE_TCHAR *host_name=0)
 ~ACE_SOCK_Dgram_Bcast ()
 Default dtor.
int open (const ACE_Addr &local, int protocol_family=PF_INET, int protocol=0, int reuse_addr=0, const ACE_TCHAR *host_name=0)
 Initiate a connectionless datagram broadcast endpoint.
int close ()
 Close up and release dynamically allocated resources.
ssize_t send (const void *buf, size_t n, u_short portnum, int flags=0) const
ssize_t send (const iovec iov[], int n, u_short portnum, int flags=0) const
ssize_t send (const void *buf, size_t n, const ACE_Addr &addr, int flags=0) const
ssize_t send (const iovec iov[], int n, const ACE_Addr &addr, int flags=0) const
void dump () const
 Dump the state of an object.
Public Member Functions inherited from ACE_SOCK_Dgram
 ACE_SOCK_Dgram ()
 Default constructor.
 ACE_SOCK_Dgram (const ACE_Addr &local, int protocol_family=ACE_PROTOCOL_FAMILY_INET, int protocol=0, int reuse_addr=0, int ipv6_only=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 ipv6_only=0)
int open (const ACE_Addr &local, int protocol_family=ACE_PROTOCOL_FAMILY_INET, int protocol=0, int reuse_addr=0, int ipv6_only=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, int ipv6_only=0)
 ~ACE_SOCK_Dgram ()
 Default dtor.
ssize_t send (const void *buf, size_t n, const ACE_Addr &addr, int flags=0) const
 Send an n byte buf to the datagram socket (uses <sendto(3)>).
ssize_t recv (void *buf, size_t 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
 Send <buffer_count> worth of buffers to addr using overlapped I/O (uses <WSASendTo>). Returns 0 on success.
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
 Recv <buffer_count> worth of buffers from addr using overlapped I/O (uses <WSARecvFrom>). 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 <WSASendTo>).
ssize_t recv (void *buf, size_t n, ACE_Addr &addr, int flags, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func) const
 Receive an n byte buf from the datagram socket (uses <WSARecvFrom>).
void dump () const
 Dump the state of an object.
int set_nic (const ACE_TCHAR *net_if, int addr_family=AF_UNSPEC)
 Set NIC to use as multicast interface.
Public Member Functions inherited from ACE_SOCK
int set_option (int level, int option, void *optval, int optlen) const
 Wrapper around the setsockopt system call.
int get_option (int level, int option, void *optval, int *optlen) const
 Wrapper around the getsockopt system call.
int close ()
int get_local_addr (ACE_Addr &) const
int get_remote_addr (ACE_Addr &) const
void dump () const
 Dump the state of an object.
int open (int type, int protocol_family, int protocol, int reuse_addr)
 Wrapper around the BSD-style socket system call (no QoS).
int open (int type, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags, int reuse_addr)
 Wrapper around the QoS-enabled WSASocket function.
Public Member Functions inherited from ACE_IPC_SAP
int control (int cmd, void *) const
 Interface for <ioctl>.
int enable (int value) const
int disable (int value) const
ACE_HANDLE get_handle () const
 Get the underlying handle.
void set_handle (ACE_HANDLE handle)
 Set the underlying handle.
void dump () const
 Dump the state of an object.

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.
Public Attributes inherited from ACE_SOCK_Dgram
 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.
Public Attributes inherited from ACE_SOCK
 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.
Public Attributes inherited from ACE_IPC_SAP
 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.

Private Member Functions

int mk_broadcast (const ACE_TCHAR *host_name)
 Make broadcast available for Datagram socket.
int get_remote_addr (ACE_Addr &) const
 Do not allow this function to percolate up to this interface...

Private Attributes

ACE_Bcast_Nodeif_list_
 Points to the head of the list of broadcast interfaces.

Additional Inherited Members

Public Types inherited from ACE_SOCK_Dgram
typedef ACE_INET_Addr PEER_ADDR
Protected Member Functions inherited from ACE_SOCK_Dgram
int shared_open (const ACE_Addr &local, int protocol_family, int ipv6_only=0)
 Open is shared by this and by <LSOCK_Dgram>.
int make_multicast_ifaddr (ip_mreq *mreq, const ACE_INET_Addr &mcast_addr, const ACE_TCHAR *net_if)
 Create a multicast addr/if pair, in format useful for system calls. If mreq param is NULL, just verify the passed addr/interface specs.
int make_multicast_ifaddr6 (ipv6_mreq *mreq, const ACE_INET_Addr &mcast_addr, const ACE_TCHAR *net_if)
 Create a multicast addr/if pair, in format useful for system calls. If mreq param is NULL, just verify the passed addr/interface specs.
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 ()
 ~ACE_SOCK ()=default
 Protected destructor.
Protected Member Functions inherited from ACE_IPC_SAP
 ACE_IPC_SAP ()
 Default constructor.
 ~ACE_IPC_SAP ()
 Protected destructor.

Detailed Description

Defines the member functions for the ACE_SOCK datagram abstraction.

Constructor & Destructor Documentation

◆ ACE_SOCK_Dgram_Bcast() [1/2]

ACE_SOCK_Dgram_Bcast::ACE_SOCK_Dgram_Bcast ( )

Default constructor.

◆ ACE_SOCK_Dgram_Bcast() [2/2]

ACE_SOCK_Dgram_Bcast::ACE_SOCK_Dgram_Bcast ( const ACE_Addr & local,
int protocol_family = PF_INET,
int protocol = 0,
int reuse_addr = 0,
const ACE_TCHAR * host_name = 0 )

◆ ~ACE_SOCK_Dgram_Bcast()

ACE_SOCK_Dgram_Bcast::~ACE_SOCK_Dgram_Bcast ( )
inline

Default dtor.

Member Function Documentation

◆ close()

int ACE_SOCK_Dgram_Bcast::close ( )

Close up and release dynamically allocated resources.

◆ dump()

void ACE_SOCK_Dgram_Bcast::dump ( ) const

Dump the state of an object.

◆ get_remote_addr()

int ACE_SOCK_Dgram_Bcast::get_remote_addr ( ACE_Addr & ) const
private

Do not allow this function to percolate up to this interface...

◆ mk_broadcast()

int ACE_SOCK_Dgram_Bcast::mk_broadcast ( const ACE_TCHAR * host_name)
private

Make broadcast available for Datagram socket.

◆ open()

int ACE_SOCK_Dgram_Bcast::open ( const ACE_Addr & local,
int protocol_family = PF_INET,
int protocol = 0,
int reuse_addr = 0,
const ACE_TCHAR * host_name = 0 )

Initiate a connectionless datagram broadcast endpoint.

◆ send() [1/4]

ssize_t ACE_SOCK_Dgram_Bcast::send ( const iovec iov[],
int n,
const ACE_Addr & addr,
int flags = 0 ) const

Broadcast an iovec of size n to addr as a datagram (note that addr must be preassigned to the broadcast address of the subnet...)

◆ send() [2/4]

ssize_t ACE_SOCK_Dgram_Bcast::send ( const iovec iov[],
int n,
u_short portnum,
int flags = 0 ) const

Broadcast the iov datagrams to every interface. Returns the average number of bytes sent.

◆ send() [3/4]

ssize_t ACE_SOCK_Dgram_Bcast::send ( const void * buf,
size_t n,
const ACE_Addr & addr,
int flags = 0 ) const
inline

Broadcast an N byte datagram to ADDR (note that addr must be preassigned to the broadcast address of the subnet...).

◆ send() [4/4]

ssize_t ACE_SOCK_Dgram_Bcast::send ( const void * buf,
size_t n,
u_short portnum,
int flags = 0 ) const

Broadcast the datagram to every interface. Returns the average number of bytes sent.

Member Data Documentation

◆ ACE_ALLOC_HOOK_DECLARE

ACE_SOCK_Dgram_Bcast::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

◆ if_list_

ACE_Bcast_Node* ACE_SOCK_Dgram_Bcast::if_list_
private

Points to the head of the list of broadcast interfaces.


The documentation for this class was generated from the following files: