org.opennms.netmgt.icmp.jna
Class JnaPingRequest

java.lang.Object
  extended by org.opennms.netmgt.icmp.jna.JnaPingRequest
All Implemented Interfaces:
Comparable<Delayed>, Delayed, EchoPacket, org.opennms.protocols.rt.Request<JnaPingRequestId,JnaPingRequest,JnaPingReply>

public class JnaPingRequest
extends Object
implements org.opennms.protocols.rt.Request<JnaPingRequestId,JnaPingRequest,JnaPingReply>, 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
JnaPingRequest(InetAddress addr, int identifier, int sequenceId, long timeout, int retries, PingResponseCallback cb)
           
JnaPingRequest(InetAddress addr, int identifier, int sequenceId, long threadId, long timeout, int retries, PingResponseCallback cb)
           
JnaPingRequest(JnaPingRequestId id, long timeout, int retries, ThreadCategory log, PingResponseCallback cb)
           
 
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)
 InetAddress getAddress()
           
 long getDelay(TimeUnit unit)
          
 JnaPingRequestId 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(JnaPingReply reply)
          processResponse
 JnaPingRequest processTimeout()
          processTimeout
 void send(V4Pinger v4, Inet4Address addr4)
           
 void send(V4Pinger v4, V6Pinger v6)
          Send this V4PingRequest through the given icmpSocket
 void send(V6Pinger v6, Inet6Address addr6)
           
 String toString()
          toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JnaPingRequest

public JnaPingRequest(JnaPingRequestId id,
                      long timeout,
                      int retries,
                      ThreadCategory log,
                      PingResponseCallback cb)

JnaPingRequest

public JnaPingRequest(InetAddress addr,
                      int identifier,
                      int sequenceId,
                      long threadId,
                      long timeout,
                      int retries,
                      PingResponseCallback cb)

JnaPingRequest

public JnaPingRequest(InetAddress addr,
                      int identifier,
                      int sequenceId,
                      long timeout,
                      int retries,
                      PingResponseCallback cb)
Method Detail

getNextTID

public static final long getNextTID()

processResponse

public boolean processResponse(JnaPingReply reply)

processResponse

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

processTimeout

public JnaPingRequest processTimeout()

processTimeout

Specified by:
processTimeout in interface org.opennms.protocols.rt.Request<JnaPingRequestId,JnaPingRequest,JnaPingReply>
Returns:
a org.opennms.netmgt.JnaPingRequest.AbstractPingRequest object.

isExpired

public boolean isExpired()

isExpired

Returns:
a boolean.

getDelay

public long getDelay(TimeUnit unit)

Specified by:
getDelay in interface Delayed
Specified by:
getDelay in interface org.opennms.protocols.rt.Request<JnaPingRequestId,JnaPingRequest,JnaPingReply>

compareTo

public int compareTo(Delayed request)

compareTo

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

getId

public JnaPingRequestId getId()

getId

Specified by:
getId in interface org.opennms.protocols.rt.Request<JnaPingRequestId,JnaPingRequest,JnaPingReply>
Returns:
a org.opennms.netmgt.icmp.spi.JnaPingRequestId.PingRequestId object.

processError

public void processError(Throwable t)

Specified by:
processError in interface org.opennms.protocols.rt.Request<JnaPingRequestId,JnaPingRequest,JnaPingReply>

isProcessed

public boolean isProcessed()

isProcessed

Specified by:
isProcessed in interface org.opennms.protocols.rt.Request<JnaPingRequestId,JnaPingRequest,JnaPingReply>
Returns:
a boolean.

send

public void send(V4Pinger v4,
                 V6Pinger v6)
Send this V4PingRequest through the given icmpSocket

Parameters:
icmpSocket - a IcmpSocket object.

getAddress

public InetAddress getAddress()

send

public void send(V6Pinger v6,
                 Inet6Address addr6)

send

public void send(V4Pinger v4,
                 Inet4Address addr4)

toString

public String toString()

toString

Overrides:
toString in class Object
Returns:
a String 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.