package edu.ucsb.jpregel.system.commands; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; import jicosfoundation.Command; import jicosfoundation.Proxy; import edu.ucsb.jpregel.system.ComputeInput; import edu.ucsb.jpregel.system.Worker; /** * * @author Pete Cappello */ public class DoNextSuperStep implements Command<Worker> { private ComputeInput computeInput; public DoNextSuperStep() {} public DoNextSuperStep( ComputeInput computeInput ) { this.computeInput = computeInput; } @Override public void execute( Proxy proxy ) { proxy.sendCommand( this ); } @Override public void execute( Worker worker ) throws Exception { worker.doNextSuperStep( computeInput ); } @Override public String toString() { return "StartSuperStep: ComputeInput: " + computeInput.toString(); } @Override public void writeExternal(ObjectOutput oo) throws IOException { oo.writeObject(computeInput); } @Override public void readExternal(ObjectInput oi) throws IOException, ClassNotFoundException { computeInput = (ComputeInput) oi.readObject(); } }