org.jgroups.protocols

## Class BPING

- java.lang.Object
- - org.jgroups.stack.Protocol
  - - org.jgroups.protocols.Discovery
    - - org.jgroups.protocols.PING
      - - org.jgroups.protocols.BPING

- All Implemented Interfaces:
    java.lang.Runnable

      public class BPING
      extends PING
      implements java.lang.Runnable

  Broadcast PING. Uses UDP broadcasts to discover initial membership. This protocol is useless in IPv6 environments, as IPv6 has no notion of broadcast addresses. Use IP multicasts instead (e.g. PING or MPING) when running in IPv6.
  Since:
    2.12
  Author:
    Bela Ban

- - ### Nested Class Summary

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

      `Discovery.Responses`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `bind_port`
    `protected java.lang.String` | `dest`
    `protected java.net.InetAddress` | `dest_addr`
    `protected int` | `port_range`
    `protected java.lang.Thread` | `receiver`
    `protected java.net.DatagramSocket` | `sock`

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

      `discovery_reception`

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

      `group_addr, local_addr, members, ping_responses, rank, timer, view`

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

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

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BPING()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getBindPort()`
    `void` | `init()` Called after instance has been created (null constructor) and before protocol is started.
    `void` | `run()`
    `void` | `setBindPort(int bind_port)`
    `void` | `start()` This method is called on a `Channel.connect(String)`.
    `void` | `stop()` This method is called on a `Channel.disconnect()`.

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

      `sendGetMembersRequest, up, waitForDiscoveryRequestReception`

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

      `discoveryRequestReceived, down, findAllMembers, findAllViews, findAllViewsAsString, findInitialMembers, findInitialMembers, findInitialMembersAsString, getNumberOfDiscoveryRequestsSent, getNumInitialMembers, getNumPingRequests, getTimeout, getView, handleConnect, handleDisconnect, makeView, providedUpServices, resetStats, setNumInitialMembers, setNumPingRequests, setTimeout`

    - ### 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, requiredDownServices, requiredUpServices, setDownProtocol, setErgonomics, setId, setLevel, setProperties, setPropertiesInternal, setProperty, setProtocolStack, setSocketFactory, setUpProtocol, setValue, setValues, statsEnabled, upThreadEnabled`

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

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

- - ### Field Detail

    - #### dest

          protected java.lang.String dest

    - #### bind_port

          protected int bind_port

    - #### port_range

          protected int port_range

    - #### sock

          protected java.net.DatagramSocket sock

    - #### receiver

          protected volatile java.lang.Thread receiver

    - #### dest_addr

          protected java.net.InetAddress dest_addr

  - ### Constructor Detail

    - #### BPING

          public BPING()

  - ### Method Detail

    - #### getBindPort

          public int getBindPort()

    - #### setBindPort

          public void setBindPort(int bind_port)

    - #### 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 `Discovery`
      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

    - #### start

          public void start()
                     throws java.lang.Exception

      Description copied from class: `Protocol`
      This method is called on a `Channel.connect(String)`. Starts work. Protocols are connected and queues are ready to receive events. Will be called from bottom to top. This call will replace the START and START_OK events.
      Overrides:
        `start` in class `Discovery`
      Throws:
        `java.lang.Exception` - Thrown if protocol cannot be started successfully. This will cause the ProtocolStack to fail, so `Channel.connect(String)` will throw an exception

    - #### stop

          public void stop()

      Description copied from class: `Protocol`
      This method is called on a `Channel.disconnect()`. Stops work (e.g. by closing multicast socket). Will be called from top to bottom. This means that at the time of the method invocation the neighbor protocol below is still working. This method will replace the STOP, STOP_OK, CLEANUP and CLEANUP_OK events. The ProtocolStack guarantees that when this method is called all messages in the down queue will have been flushed
      Overrides:
        `stop` in class `PING`

    - #### run

          public void run()

      Specified by:
        `run` in interface `java.lang.Runnable`

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