org.jgroups
Class StreamingSetStateEvent

java.lang.Object
  extended by org.jgroups.StreamingSetStateEvent

public class StreamingSetStateEvent
extends java.lang.Object

Represents an event returned by channel.receive(), as requested by channel.getState() previously.

Allows applications using a channel in a pull mode to receive a state from another channel instance providing state. Channels have to be configured with STREAMING_STATE_TRANSFER protocol rather than the default STATE_TRANSFER protocol in order to receive this event.

The following code demonstrate how to pull events from a channel, processing StreamingSetStateEvent and retrieving hypothetical state in the form of LinkedList from event's InputStream reference.

  Object obj=channel.receive(0);
  if(obj instanceof StreamingSetStateEvent) {
        StreamingSetStateEvent evt=(StreamingSetStateEvent)obj;
        ObjectInputStream ois = null;           
                try {                   
                        ois = new ObjectInputStream(evt.getArg());
                        state = (LinkedList)ois.readObject();  
                } catch (Exception e) {} 
                finally
                {
                        try {                           
                                ois.close();
                        } catch (IOException e) {
                                System.err.println(e);
                        }
                }                
   }
 

Since:
2.4
Author:
Vladimir Blagojevic
See Also:
JChannel.getState(Address, long), org.jgroups.StreamingMessageListener#setState(InputStream)

Constructor Summary
StreamingSetStateEvent(java.io.InputStream is, java.lang.String state_id)
           
 
Method Summary
 java.io.InputStream getArg()
          Returns InputStream used for reading of a state.
 java.lang.String getStateId()
          Returns id of the partial state if partial state was requested.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StreamingSetStateEvent

public StreamingSetStateEvent(java.io.InputStream is,
                              java.lang.String state_id)
Method Detail

getArg

public java.io.InputStream getArg()
Returns InputStream used for reading of a state.

Returns:
the InputStream

getStateId

public java.lang.String getStateId()
Returns id of the partial state if partial state was requested. If full state transfer was requested this method will return null.

Returns:
partial state id
See Also:
JChannel.getState(Address, long), JChannel.getState(Address, String, long)


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