ACE  6.1.0
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Private Types | Private Member Functions | Private Attributes
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, bool to_connect=false)
 to_connect = true - makes connect to remote address
int process_incoming_dgram (char *ptr, ssize_t len)
int make_echo_check (ACE_INET_Addr &remote_addr, bool to_connect=false, ACE_Time_Value const *timeout=&time_default_)
 to_connect = true - 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

static 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_
bool 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


Member Enumeration Documentation

anonymous enum
Enumerator:
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.

char * ACE_Ping_Socket::icmp_recv_buff ( void  ) [inline]
int ACE_Ping_Socket::make_echo_check ( ACE_INET_Addr remote_addr,
bool  to_connect = false,
ACE_Time_Value const *  timeout = &time_default_ 
)

to_connect = true - 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,
bool  to_connect = false 
)

to_connect = true - makes connect to remote address


Member Data Documentation

Declare the dynamic allocation hooks.

Reimplemented from ACE_ICMP_Socket.

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]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines