OpenNMS API 1.2.9

## org.opennms.netmgt.poller.monitors
Class IcmpMonitor

    java.lang.Object
      org.opennms.netmgt.poller.monitors.IPv4LatencyMonitor
          org.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 `Reply`class.

### 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.9

Generated by ranger on May 19 2007 2335.