org.opennms.netmgt.icmp.jni
Class JniIcmpMessenger

java.lang.Object
  extended by org.opennms.netmgt.icmp.jni.JniIcmpMessenger
All Implemented Interfaces:
org.opennms.protocols.rt.Messenger<JniPingRequest,JniPingResponse>

public class JniIcmpMessenger
extends Object
implements org.opennms.protocols.rt.Messenger<JniPingRequest,JniPingResponse>

JniIcmpMessenger

Version:
$Id: $
Author:
brozow

Constructor Summary
JniIcmpMessenger(int pingerId)
          Constructor for JniIcmpMessenger.
 
Method Summary
static JniPingResponse createPingResponse(DatagramPacket packet)
           Creates a new instance of the class using the passed datagram as the data source.
 void sendRequest(JniPingRequest request)
          sendRequest
 void start(Queue<JniPingResponse> responseQueue)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JniIcmpMessenger

public JniIcmpMessenger(int pingerId)
                 throws IOException

Constructor for JniIcmpMessenger.

Parameters:
pingerId -
Throws:
IOException - if any.
Method Detail

sendRequest

public void sendRequest(JniPingRequest request)

sendRequest

Specified by:
sendRequest in interface org.opennms.protocols.rt.Messenger<JniPingRequest,JniPingResponse>
Parameters:
request - a JniPingRequest object.

start

public void start(Queue<JniPingResponse> responseQueue)

Specified by:
start in interface org.opennms.protocols.rt.Messenger<JniPingRequest,JniPingResponse>

createPingResponse

public static JniPingResponse createPingResponse(DatagramPacket packet)

Creates a new instance of the class using the passed datagram as the data source. The address and ping packet are extracted from the datagram and returned as a new instance of the class. In addition to extracting the packet, the packet's received time is updated to the current time.

If the received datagram is not an echo reply or an incorrect length then an exception is generated to alert the caller.

Parameters:
packet - The packet with the ICMP datagram.
Returns:
a org.opennms.netmgt.icmp.spi.PingReply object.
Throws:
IllegalArgumentException - Throw if the datagram is not the correct length or type.
IndexOutOfBoundsException - Thrown if the datagram does not contain sufficient data.


Copyright © 2011. All Rights Reserved.