OpenNMS API 1.2.3

org.opennms.netmgt.poller.monitors
Class IcmpMonitor

java.lang.Object
  extended byorg.opennms.netmgt.poller.monitors.IPv4LatencyMonitor
      extended byorg.opennms.netmgt.poller.monitors.IcmpMonitor
All Implemented Interfaces:
ServiceMonitor

public final class IcmpMonitor
extends IPv4LatencyMonitor

This class is designed to be used by the service poller framework to test the availability of the ICMP service on remote interfaces. The class implements the ServiceMonitor interface that allows it to be used along with other plug-ins by the service poller framework.

Author:
Tarus Balog , OpenNMS

Nested Class Summary
private static class IcmpMonitor.Ping
          This class is used to encapsulate a ping request.
 
Field Summary
private static int DEFAULT_RETRY
          Default retries.
private static int DEFAULT_TIMEOUT
          Default timeout.
private static short FILTER_ID
          The filter identifier for the ping reply receiver
private static IcmpSocket m_icmpSock
          The ICMP socket used to send/receive replies
private static ReplyReceiver m_receiver
          The singular reply receiver
private static short m_seqid
          The sequence number for pings
private static java.util.Map m_waiting
          The set used to lookup thread identifiers The map of long thread identifiers to Packets that must be signaled.
private static java.lang.Thread m_worker
          The thread used to receive and process replies.
 
Fields inherited from class org.opennms.netmgt.poller.monitors.IPv4LatencyMonitor
DS_NAME
 
Fields inherited from interface org.opennms.netmgt.poller.monitors.ServiceMonitor
SERVICE_AVAILABLE, SERVICE_STATUS_MASK, SERVICE_UNAVAILABLE, SERVICE_UNKNOWN, SERVICE_UNRESPONSIVE, SURPRESS_EVENT_MASK
 
Constructor Summary
IcmpMonitor()
          Construts a new monitor.
 
Method Summary
private static java.net.DatagramPacket getDatagram(java.net.InetAddress addr, long tid)
          Builds a datagram compatable with the ping ReplyReceiver class.
 int poll(NetworkInterface iface, java.util.Map parameters, Package pkg)
           Poll the specified address for ICMP service availability.
 
Methods inherited from class org.opennms.netmgt.poller.monitors.IPv4LatencyMonitor
createRRD, initialize, initialize, release, release, updateRRD
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_RETRY

private static final int DEFAULT_RETRY
Default retries.

See Also:
Constant Field Values

DEFAULT_TIMEOUT

private static final int DEFAULT_TIMEOUT
Default timeout. Specifies how long (in milliseconds) to block waiting for data from the monitored interface.

See Also:
Constant Field Values

FILTER_ID

private static final short FILTER_ID
The filter identifier for the ping reply receiver


m_seqid

private static short m_seqid
The sequence number for pings


m_receiver

private static ReplyReceiver m_receiver
The singular reply receiver


m_icmpSock

private static IcmpSocket m_icmpSock
The ICMP socket used to send/receive replies


m_waiting

private static java.util.Map m_waiting
The set used to lookup thread identifiers The map of long thread identifiers to Packets that must be signaled. The mapped objects are instances of the Replyclass.


m_worker

private static java.lang.Thread m_worker
The thread used to receive and process replies.

Constructor Detail

IcmpMonitor

public IcmpMonitor()
            throws java.io.IOException
Construts a new monitor.

Method Detail

getDatagram

private static java.net.DatagramPacket getDatagram(java.net.InetAddress addr,
                                                   long tid)
Builds a datagram compatable with the ping ReplyReceiver class.


poll

public int poll(NetworkInterface iface,
                java.util.Map parameters,
                Package pkg)

Poll the specified address for ICMP service availability.

The ICMP service monitor relies on Discovery for the actual generation of IMCP 'ping' requests. A JSDT session with two channels (send/recv) is utilized for passing poll requests and receiving poll replies from discovery. All exchanges are SOAP/XML compliant.

Parameters:
iface - The network interface to test the service on.
parameters - The package parameters (timeout, retry, etc...) to be used for this poll.
Returns:
The availibility of the interface and if a transition event should be supressed.
See Also:
ServiceMonitor.SURPRESS_EVENT_MASK, ServiceMonitor.SERVICE_AVAILABLE, ServiceMonitor.SERVICE_UNAVAILABLE

OpenNMS API 1.2.3

Generated by eevans on May 29 2005 2015.