All Downloads are FREE. Search and download functionalities are using the official Maven repository.

bboss.org.jgroups.StreamingSetStateEvent Maven / Gradle / Ivy

The newest version!
package bboss.org.jgroups;
import java.io.InputStream;
/**
 * 
 * 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);
 *			}
 *		}                
 *   }
 * 
* * * @author Vladimir Blagojevic * @see bboss.org.jgroups.JChannel#getState(Address, long) * @see bboss.org.jgroups.StreamingMessageListener#setState(InputStream) * @since 2.4 * */ public class StreamingSetStateEvent { InputStream is; String state_id; public StreamingSetStateEvent(InputStream is,String state_id) { super(); this.is=is; this.state_id=state_id; } /** * Returns InputStream used for reading of a state. * * @return the InputStream */ public InputStream getArg() { return is; } /** * Returns id of the partial state if partial state was requested. * If full state transfer was requested this method will return null. * * @see JChannel#getState(Address, long) * @see JChannel#getState(Address, String, long) * @return partial state id */ public String getStateId() { return state_id; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy