org.jgroups.protocols

## Class SHUFFLE

- java.lang.Object
- - org.jgroups.stack.Protocol
  - - org.jgroups.protocols.SHUFFLE

-     public class SHUFFLE
      extends Protocol

  Reorders messages by buffering them and shuffling the result after TIMEOUT ms.
  Author:
    Bela Ban

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `down`
    `protected java.util.List<Message>` | `down_msgs`
    `protected int` | `max_size`
    `protected long` | `max_time`
    `protected java.util.concurrent.Future<?>` | `task`
    `protected TimeScheduler` | `timer`
    `protected boolean` | `up`
    `protected java.util.List<Message>` | `up_msgs`

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

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

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SHUFFLE()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `down(Event evt)` An event is to be sent down the stack.
    `int` | `getMaxSize()`
    `long` | `getMaxTime()`
    `void` | `init()` Called after instance has been created (null constructor) and before protocol is started.
    `boolean` | `isDown()`
    `boolean` | `isUp()`
    `void` | `setDown(boolean down)`
    `void` | `setMaxSize(int max_size)`
    `void` | `setMaxTime(long max_time)`
    `void` | `setUp(boolean up)`
    `java.lang.Object` | `up(Event evt)` An event was received from the layer below.

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

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

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

- - ### Field Detail

    - #### timer

          protected TimeScheduler timer

    - #### up_msgs

          protected final java.util.List<Message> up_msgs

    - #### down_msgs

          protected final java.util.List<Message> down_msgs

    - #### task

          protected java.util.concurrent.Future<?> task

    - #### up

          protected boolean up

    - #### down

          protected boolean down

    - #### max_size

          protected int max_size

    - #### max_time

          protected long max_time

  - ### Constructor Detail

    - #### SHUFFLE

          public SHUFFLE()

  - ### Method Detail

    - #### isUp

          public boolean isUp()

    - #### setUp

          public void setUp(boolean up)

    - #### isDown

          public boolean isDown()

    - #### setDown

          public void setDown(boolean down)

    - #### getMaxSize

          public int getMaxSize()

    - #### setMaxSize

          public void setMaxSize(int max_size)

    - #### getMaxTime

          public long getMaxTime()

    - #### setMaxTime

          public void setMaxTime(long max_time)

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

    - #### down

          public java.lang.Object down(Event evt)

      Description copied from class: `Protocol`
      An event is to be sent down the stack. The layer may want to examine its type and perform some action on it, depending on the event's type. If the event is a message MSG, then the layer may need to add a header to it (or do nothing at all) before sending it down the stack using `down_prot.down()`. In case of a GET_ADDRESS event (which tries to retrieve the stack's address from one of the bottom layers), the layer may need to send a new response event back up the stack using `up_prot.up()`.
      Overrides:
        `down` in class `Protocol`

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