org.opennms.netmgt.icmp.jni
Class JniPingRequest

java.lang.Object
  extended by org.opennms.netmgt.icmp.jni.JniPingRequest
All Implemented Interfaces:
Comparable<Delayed>, Delayed, EchoPacket, org.opennms.protocols.rt.Request<JniPingRequestId,JniPingRequest,JniPingResponse>

public class JniPingRequest
extends Object
implements org.opennms.protocols.rt.Request<JniPingRequestId,JniPingRequest,JniPingResponse>, EchoPacket

This class is used to encapsulate a ping request. A request consist of the pingable address and a signaled state.

Author:
Ben Reed, Mathew Brozowski

Constructor Summary
JniPingRequest(InetAddress addr, int identifier, int sequenceNumber, long timeout, int retries, PingResponseCallback cb)
           
JniPingRequest(InetAddress addr, int identifier, int sequenceNumber, long threadId, long timeout, int retries, PingResponseCallback cb)
           
JniPingRequest(InetAddress addr, int identifier, int sequenceNumber, long threadId, long timeout, int retries, ThreadCategory logger, PingResponseCallback cb)
           
JniPingRequest(JniPingRequestId id, long timeout, int retries, ThreadCategory log, PingResponseCallback callback)
           
 
Method Summary
 int compareTo(Delayed request)
          compareTo
 double elapsedTime(TimeUnit timeUnit)
          Returns the round trip time in the requested TimeUnit (note that a fractional value will be returned if necessary)
 long getDelay(TimeUnit unit)
          
 JniPingRequestId getId()
          getId
 int getIdentifier()
           
static long getNextTID()
           
 long getReceivedTimeNanos()
           
 long getSentTimeNanos()
           
 int getSequenceNumber()
           
 long getThreadId()
           
 boolean isEchoReply()
           
 boolean isExpired()
          isExpired
 boolean isProcessed()
          isProcessed
 void processError(Throwable t)
           
 boolean processResponse(JniPingResponse reply)
          processResponse
 JniPingRequest processTimeout()
          processTimeout
 void send(org.opennms.protocols.icmp.IcmpSocket icmpSocket)
          Send this JniPingRequest through the given icmpSocket
 String toString()
          toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JniPingRequest

public JniPingRequest(JniPingRequestId id,
                      long timeout,
                      int retries,
                      ThreadCategory log,
                      PingResponseCallback callback)

JniPingRequest

public JniPingRequest(InetAddress addr,
                      int identifier,
                      int sequenceNumber,
                      long threadId,
                      long timeout,
                      int retries,
                      ThreadCategory logger,
                      PingResponseCallback cb)

JniPingRequest

public JniPingRequest(InetAddress addr,
                      int identifier,
                      int sequenceNumber,
                      long threadId,
                      long timeout,
                      int retries,
                      PingResponseCallback cb)

JniPingRequest

public JniPingRequest(InetAddress addr,
                      int identifier,
                      int sequenceNumber,
                      long timeout,
                      int retries,
                      PingResponseCallback cb)
Method Detail

getNextTID

public static final long getNextTID()

processResponse

public boolean processResponse(JniPingResponse reply)

processResponse

Specified by:
processResponse in interface org.opennms.protocols.rt.Request<JniPingRequestId,JniPingRequest,JniPingResponse>
Parameters:
reply - a org.opennms.netmgt.icmp.spi.JniPingResponse.PingReply object.
Returns:
a boolean.

processTimeout

public JniPingRequest processTimeout()

processTimeout

Specified by:
processTimeout in interface org.opennms.protocols.rt.Request<JniPingRequestId,JniPingRequest,JniPingResponse>
Returns:
a JniPingRequest object.

isExpired

public boolean isExpired()

isExpired

Returns:
a boolean.

toString

public String toString()

toString

Overrides:
toString in class Object
Returns:
a String object.

getDelay

public long getDelay(TimeUnit unit)

Specified by:
getDelay in interface Delayed
Specified by:
getDelay in interface org.opennms.protocols.rt.Request<JniPingRequestId,JniPingRequest,JniPingResponse>

compareTo

public int compareTo(Delayed request)

compareTo

Specified by:
compareTo in interface Comparable<Delayed>
Parameters:
request - a Delayed object.
Returns:
a int.

getId

public JniPingRequestId getId()

getId

Specified by:
getId in interface org.opennms.protocols.rt.Request<JniPingRequestId,JniPingRequest,JniPingResponse>
Returns:
a org.opennms.netmgt.icmp.spi.JniPingRequestId.PingRequestId object.

processError

public void processError(Throwable t)
Specified by:
processError in interface org.opennms.protocols.rt.Request<JniPingRequestId,JniPingRequest,JniPingResponse>

isProcessed

public boolean isProcessed()

isProcessed

Specified by:
isProcessed in interface org.opennms.protocols.rt.Request<JniPingRequestId,JniPingRequest,JniPingResponse>
Returns:
a boolean.

send

public void send(org.opennms.protocols.icmp.IcmpSocket icmpSocket)
Send this JniPingRequest through the given icmpSocket

Parameters:
icmpSocket - a IcmpSocket object.

isEchoReply

public boolean isEchoReply()
Specified by:
isEchoReply in interface EchoPacket

getIdentifier

public int getIdentifier()
Specified by:
getIdentifier in interface EchoPacket

getSequenceNumber

public int getSequenceNumber()
Specified by:
getSequenceNumber in interface EchoPacket

getThreadId

public long getThreadId()
Specified by:
getThreadId in interface EchoPacket

getReceivedTimeNanos

public long getReceivedTimeNanos()
Specified by:
getReceivedTimeNanos in interface EchoPacket

getSentTimeNanos

public long getSentTimeNanos()
Specified by:
getSentTimeNanos in interface EchoPacket

elapsedTime

public double elapsedTime(TimeUnit timeUnit)
Description copied from interface: EchoPacket
Returns the round trip time in the requested TimeUnit (note that a fractional value will be returned if necessary)

Specified by:
elapsedTime in interface EchoPacket


Copyright © 2011. All Rights Reserved.