org.jgroups.protocols

## Class FD_ICMP

- java.lang.Object
- - org.jgroups.stack.Protocol
  - - org.jgroups.protocols.FD
    - - org.jgroups.protocols.FD_ICMP

-     public class FD_ICMP
      extends FD

  Protocol which uses InetAddress.isReachable() to check whether a given host is up or not, taking 1 argument; the host name of the host to be pinged. Note that this protocol only works with JDK 5 ! The implementation of this may or may not use ICMP ! An alternative is to create a TCP connection to port 7 (echo service) and see whether it works ! This is obviously done in JDK 5, so unless an echo service is configured to run, this won't work...
  Author:
    Bela Ban

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `FD_ICMP.PingMonitor` Runs InetAddress.isReachable().

    - ### Nested classes/interfaces inherited from class org.jgroups.protocols.FD

      `FD.Broadcaster, FD.BroadcastTask, FD.FdHeader, FD.Monitor`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.String` | `bind_interface_str`

    - ### Fields inherited from class org.jgroups.protocols.FD

      `bcast_task, local_addr, lock, members, num_heartbeats, num_suspect_events, num_tries, ping_dest, pingable_mbrs, suspect_history`

    - ### Fields inherited from class org.jgroups.stack.Protocol

      `down_prot, ergonomics, id, log, name, stack, stats, up_prot`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FD_ICMP()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected FD.Monitor` | `createMonitor()`
    `void` | `init()` Called after instance has been created (null constructor) and before protocol is started.
    `java.lang.Object` | `up(Event evt)` An event was received from the layer below.

    - ### Methods inherited from class org.jgroups.protocols.FD

      `down, getCurrentNumTries, getLocalAddress, getMaxTries, getMembers, getNumberOfHeartbeatsSent, getNumSuspectEventsGenerated, getPingableMembers, getPingDest, getTimeout, isShun, printSuspectHistory, resetStats, setMaxTries, setShun, setTimeout, startFailureDetection, stop, stopFailureDetection`

    - ### Methods inherited from class org.jgroups.stack.Protocol

      `destroy, downThreadEnabled, dumpStats, enableStats, getConfigurableObjects, getDownProtocol, getId, getLevel, getName, getProperties, getProtocolStack, getSocketFactory, getThreadFactory, getTransport, getUpProtocol, getValue, isErgonomics, printStats, providedDownServices, providedUpServices, requiredDownServices, requiredUpServices, setDownProtocol, setErgonomics, setId, setLevel, setProperties, setPropertiesInternal, setProperty, setProtocolStack, setSocketFactory, setUpProtocol, setValue, setValues, start, statsEnabled, upThreadEnabled`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### bind_interface_str

          protected java.lang.String bind_interface_str

  - ### Constructor Detail

    - #### FD_ICMP

          public FD_ICMP()

  - ### Method Detail

    - #### init

          public void init()
                    throws java.lang.Exception

      Description copied from class: `Protocol`
      Called after instance has been created (null constructor) and before protocol is started. Properties are already set. Other protocols are not yet connected and events cannot yet be sent.
      Overrides:
        `init` in class `FD`
      Throws:
        `java.lang.Exception` - Thrown if protocol cannot be initialized successfully. This will cause the ProtocolStack to fail, so the channel constructor will throw an exception

    - #### up

          public java.lang.Object up(Event evt)

      Description copied from class: `Protocol`
      An event was received from the layer below. Usually the current layer will want to examine the event type and - depending on its type - perform some computation (e.g. removing headers from a MSG event type, or updating the internal membership list when receiving a VIEW_CHANGE event). Finally the event is either a) discarded, or b) an event is sent down the stack using `down_prot.down()` or c) the event (or another event) is sent up the stack using `up_prot.up()`.
      Overrides:
        `up` in class `FD`

    - #### createMonitor

          protected FD.Monitor createMonitor()

      Overrides:
        `createMonitor` in class `FD`

Copyright © 1998-2009 Bela Ban / Red Hat. All Rights Reserved.