Package org.jgroups

Class StreamingSetStateEvent

java.lang.Object
org.jgroups.StreamingSetStateEvent

public class StreamingSetStateEvent extends 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: