org.jgroups

## Interface ExtendedMessageListener

- All Superinterfaces:
    MessageListener
  All Known Subinterfaces:
    ExtendedReceiver
  All Known Implementing Classes:
    Draw, ExtendedReceiverAdapter, MessageListenerAdapter, ReplicatedHashMap

      public interface ExtendedMessageListener
      extends MessageListener

  `ExtendedMessageListener` has additional callbacks for:
  - partial state transfer - http://jira.jboss.com/jira/browse/JGRP-118
  - streaming state transfer - http://jira.jboss.com/jira/browse/JGRP-89

  Application channels interested in using streaming state transfer, beside implementing this interface, have to be configured with `STREAMING_STATE_TRANSFER` protocol rather than the default `STATE_TRANSFER` protocol.

  Note:

  This interface will be merged with MessageListener in 3.0 (API changes)

  Since:
    2.3
  Author:
    Bela Ban, Vladimir Blagojevic
  See Also:
    `JChannel.getState(Address, long)`, `JChannel.getState(Address, String, long)`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `getState(java.io.OutputStream ostream)` Allows an application to write a state through a provided OutputStream.
    `byte[]` | `getState(java.lang.String state_id)` Allows an application to provide a partial state as a byte array
    `void` | `getState(java.lang.String state_id, java.io.OutputStream ostream)` Allows an application to write a partial state through a provided OutputStream.
    `void` | `setState(java.io.InputStream istream)` Allows an application to read a state through a provided InputStream.
    `void` | `setState(java.lang.String state_id, byte[] state)` Allows an application to read a partial state indicated by state_id from a given state byte array parameter.
    `void` | `setState(java.lang.String state_id, java.io.InputStream istream)` Allows an application to read a partial state through a provided InputStream.

    - ### Methods inherited from interface org.jgroups.MessageListener

      `getState, receive, setState`

- - ### Method Detail

    - #### getState

          byte[] getState(java.lang.String state_id)

      Allows an application to provide a partial state as a byte array
      Parameters:
        `state_id` - id of the partial state requested
      Returns:
        partial state for the given state_id

    - #### setState

          void setState(java.lang.String state_id,
                      byte[] state)

      Allows an application to read a partial state indicated by state_id from a given state byte array parameter.
      Parameters:
        `state_id` - id of the partial state requested
        `state` - partial state for the given state_id

    - #### getState

          void getState(java.io.OutputStream ostream)

      Allows an application to write a state through a provided OutputStream. An application is obligated to always close the given OutputStream reference.
      Parameters:
        `ostream` - the OutputStream
      See Also:
        `OutputStream.close()`

    - #### getState

          void getState(java.lang.String state_id,
                      java.io.OutputStream ostream)

      Allows an application to write a partial state through a provided OutputStream. An application is obligated to always close the given OutputStream reference.
      Parameters:
        `state_id` - id of the partial state requested
        `ostream` - the OutputStream
      See Also:
        `OutputStream.close()`

    - #### setState

          void setState(java.io.InputStream istream)

      Allows an application to read a state through a provided InputStream. An application is obligated to always close the given InputStream reference.
      Parameters:
        `istream` - the InputStream
      See Also:
        `InputStream.close()`

    - #### setState

          void setState(java.lang.String state_id,
                      java.io.InputStream istream)

      Allows an application to read a partial state through a provided InputStream. An application is obligated to always close the given InputStream reference.
      Parameters:
        `state_id` - id of the partial state requested
        `istream` - the InputStream
      See Also:
        `InputStream.close()`

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