Package org.opennms.netmgt.icmp.jna
Class JnaPinger
- java.lang.Object
-
- org.opennms.netmgt.icmp.jna.JnaPinger
-
-
Constructor Summary
Constructors Constructor Description JnaPinger()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
initialize4()
Initialize IPv4 in this Pinger implementation.void
initialize6()
Initialize IPv6 in this Pinger implementation.boolean
isV4Available()
Whether or not IPv4 is initialized and available for this implementation.boolean
isV6Available()
Whether or not IPv6 is initialized and available for this implementation.List<Number>
parallelPing(InetAddress host, int count, long timeout, long pingInterval)
Ping a remote host, sending 1 or more packets at the given interval, and then return the response times as a list.List<Number>
parallelPing(InetAddress host, int count, long timeout, long pingInterval, int size)
Ping a remote host, sending 1 or more packets at the given interval, and then return the response times as a list.Number
ping(InetAddress host)
Ping a remote host, using the default number of retries and timeouts.Number
ping(InetAddress host, long timeout, int retries)
This method is used to ping a remote host to test for ICMP support.Number
ping(InetAddress host, long timeout, int retries, int packetsize)
This method is used to ping a remote host to test for ICMP support.void
ping(InetAddress host, long timeout, int retries, int packetsize, int sequenceId, PingResponseCallback cb)
pingvoid
ping(InetAddress host, long timeout, int retries, int sequenceId, PingResponseCallback cb)
pingvoid
setAllowFragmentation(boolean allow)
void
setTrafficClass(int tc)
-
-
-
Method Detail
-
initialize4
public void initialize4() throws Exception
Description copied from interface:Pinger
Initialize IPv4 in this Pinger implementation. If unable to do so, implementations should throw an exception.- Specified by:
initialize4
in interfacePinger
- Throws:
Exception
-
initialize6
public void initialize6() throws Exception
Description copied from interface:Pinger
Initialize IPv6 in this Pinger implementation. If unable to do so, implementations should throw an exception.- Specified by:
initialize6
in interfacePinger
- Throws:
Exception
-
isV4Available
public boolean isV4Available()
Description copied from interface:Pinger
Whether or not IPv4 is initialized and available for this implementation.- Specified by:
isV4Available
in interfacePinger
-
isV6Available
public boolean isV6Available()
Description copied from interface:Pinger
Whether or not IPv6 is initialized and available for this implementation.- Specified by:
isV6Available
in interfacePinger
- Returns:
-
ping
public void ping(InetAddress host, long timeout, int retries, int packetsize, int sequenceId, PingResponseCallback cb) throws Exception
ping
- Specified by:
ping
in interfacePinger
- Parameters:
host
- aInetAddress
object.timeout
- a long.retries
- a int.packetsize
- The size in byte of the ICMP packet.sequenceId
- a short.cb
- aorg.opennms.netmgt.ping.PingResponseCallback
object.- Throws:
Exception
- if any.
-
ping
public void ping(InetAddress host, long timeout, int retries, int sequenceId, PingResponseCallback cb) throws Exception
ping
- Specified by:
ping
in interfacePinger
- Parameters:
host
- aInetAddress
object.timeout
- a long.retries
- a int.sequenceId
- a short.cb
- aorg.opennms.netmgt.ping.PingResponseCallback
object.- Throws:
Exception
- if any.
-
ping
public Number ping(InetAddress host, long timeout, int retries, int packetsize) throws Exception
This method is used to ping a remote host to test for ICMP support. If the remote host responds within the specified period, defined by retries and timeouts, then the response time is returned.- Specified by:
ping
in interfacePinger
- Parameters:
host
- The address to poll.timeout
- The time to wait between each retry.retries
- The number of times to retrypacketsize
- The size in byte of the ICMP packet.- Returns:
- The response time in microseconds if the host is reachable and has responded with an echo reply, otherwise a null value.
- Throws:
InterruptedException
- if any.IOException
- if any.Exception
- if any.
-
ping
public Number ping(InetAddress host, long timeout, int retries) throws Exception
This method is used to ping a remote host to test for ICMP support. If the remote host responds within the specified period, defined by retries and timeouts, then the response time is returned.- Specified by:
ping
in interfacePinger
- Parameters:
host
- The address to poll.timeout
- The time to wait between each retry.retries
- The number of times to retry- Returns:
- The response time in microseconds if the host is reachable and has responded with an echo reply, otherwise a null value.
- Throws:
InterruptedException
- if any.IOException
- if any.Exception
- if any.
-
ping
public Number ping(InetAddress host) throws Exception
Ping a remote host, using the default number of retries and timeouts.- Specified by:
ping
in interfacePinger
- Parameters:
host
- the host to ping- Returns:
- the round-trip time of the packet
- Throws:
IOException
- if any.InterruptedException
- if any.Exception
- if any.
-
parallelPing
public List<Number> parallelPing(InetAddress host, int count, long timeout, long pingInterval, int size) throws Exception
Ping a remote host, sending 1 or more packets at the given interval, and then return the response times as a list.- Specified by:
parallelPing
in interfacePinger
- Parameters:
host
- TheInetAddress
address to poll.count
- The number of packets to send.timeout
- The time to wait between each retry.pingInterval
- The interval at which packets will be sent.size
- The size of the packet to send.- Returns:
- a
List
of response times in microseconds. If, for a given ping request, the host is reachable and has responded with an echo reply, it will contain a number, otherwise a null value. - Throws:
Exception
-
parallelPing
public List<Number> parallelPing(InetAddress host, int count, long timeout, long pingInterval) throws Exception
Ping a remote host, sending 1 or more packets at the given interval, and then return the response times as a list.- Specified by:
parallelPing
in interfacePinger
- Parameters:
host
- TheInetAddress
address to poll.count
- The number of packets to send.timeout
- The time to wait between each retry.pingInterval
- The interval at which packets will be sent.- Returns:
- a
List
of response times in microseconds. If, for a given ping request, the host is reachable and has responded with an echo reply, it will contain a number, otherwise a null value. - Throws:
Exception
-
setAllowFragmentation
public void setAllowFragmentation(boolean allow) throws Exception
- Specified by:
setAllowFragmentation
in interfacePinger
- Throws:
Exception
-
setTrafficClass
public void setTrafficClass(int tc) throws Exception
- Specified by:
setTrafficClass
in interfacePinger
- Throws:
Exception
-
-