Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ACE_Ping_Socket Class Reference

This class is useful to perform ICMP echo checks (pinging) on the party of your interest. It may be used as well to check LAN-adapters against 3rd parties. More...

#include <Ping_Socket.h>

Inheritance diagram for ACE_Ping_Socket:

Inheritance graph
[legend]
Collaboration diagram for ACE_Ping_Socket:

Collaboration graph
[legend]
List of all members.

Public Types

enum  { PING_BUFFER_SIZE = (1024 * 2) }

Public Member Functions

 ACE_Ping_Socket (void)
 Default constructor.
 ACE_Ping_Socket (ACE_Addr const &local, int protocol=IPPROTO_ICMP, int reuse_addr=0)
 ~ACE_Ping_Socket (void)
 Destructor.
int open (ACE_Addr const &local=ACE_Addr::sap_any, int protocol=IPPROTO_ICMP, int reuse_addr=0)
 Wrapper around the BSD-style socket system call (no QoS).
int send_echo_check (ACE_INET_Addr &remote_addr, int to_connect=0)
 toConnect = 1 - makes connect to remote address
int process_incoming_dgram (char *ptr, ssize_t len)
int make_echo_check (ACE_INET_Addr &remote_addr, int to_connect=0, ACE_Time_Value const *timeout=&time_default_)
 toConnect = 1 - makes connect to remote address
char * icmp_recv_buff (void)
void dump (void) const
 Dump the state of an object.

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.

Static Public Attributes

ACE_Time_Value const time_default_

Private Types

typedef ACE_ICMP_Socket inherited

Private Member Functions

int receive_echo_reply (ACE_Time_Value const *timeout)
int get_remote_addr (ACE_INET_Addr &addr) const
 Do not allow this function to percolate up to this interface.

Private Attributes

char icmp_send_buff_ [PING_BUFFER_SIZE]
char icmp_recv_buff_ [PING_BUFFER_SIZE]
ACE_UINT16 sequence_number_
int connected_socket_

Detailed Description

This class is useful to perform ICMP echo checks (pinging) on the party of your interest. It may be used as well to check LAN-adapters against 3rd parties.


Member Typedef Documentation

typedef ACE_ICMP_Socket ACE_Ping_Socket::inherited [private]
 


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
PING_BUFFER_SIZE 


Constructor & Destructor Documentation

ACE_Ping_Socket::ACE_Ping_Socket void   ) 
 

Default constructor.

ACE_Ping_Socket::ACE_Ping_Socket ACE_Addr const &  local,
int  protocol = IPPROTO_ICMP,
int  reuse_addr = 0
 

ACE_Ping_Socket::~ACE_Ping_Socket void   ) 
 

Destructor.


Member Function Documentation

void ACE_Ping_Socket::dump void   )  const
 

Dump the state of an object.

Reimplemented from ACE_ICMP_Socket.

int ACE_Ping_Socket::get_remote_addr ACE_INET_Addr addr  )  const [private]
 

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

ACE_INLINE char * ACE_Ping_Socket::icmp_recv_buff void   ) 
 

int ACE_Ping_Socket::make_echo_check ACE_INET_Addr remote_addr,
int  to_connect = 0,
ACE_Time_Value const *  timeout = &time_default_
 

toConnect = 1 - makes connect to remote address

int ACE_Ping_Socket::open ACE_Addr const &  local = ACE_Addr::sap_any,
int  protocol = IPPROTO_ICMP,
int  reuse_addr = 0
 

Wrapper around the BSD-style socket system call (no QoS).

Reimplemented from ACE_ICMP_Socket.

int ACE_Ping_Socket::process_incoming_dgram char *  ptr,
ssize_t  len
 

To receive ICMP_ECHOREPLY. To be called after successfully sending ICMP_ECHO.

int ACE_Ping_Socket::receive_echo_reply ACE_Time_Value const *  timeout  )  [private]
 

int ACE_Ping_Socket::send_echo_check ACE_INET_Addr remote_addr,
int  to_connect = 0
 

toConnect = 1 - makes connect to remote address


Member Data Documentation

ACE_Ping_Socket::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Reimplemented from ACE_ICMP_Socket.

int ACE_Ping_Socket::connected_socket_ [private]
 

char ACE_Ping_Socket::icmp_recv_buff_[PING_BUFFER_SIZE] [private]
 

char ACE_Ping_Socket::icmp_send_buff_[PING_BUFFER_SIZE] [private]
 

ACE_UINT16 ACE_Ping_Socket::sequence_number_ [private]
 

ACE_Time_Value const ACE_Ping_Socket::time_default_ [static]
 


The documentation for this class was generated from the following files:
Generated on Sat Aug 6 03:03:33 2005 for ACE by  doxygen 1.3.9.1