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.ComputeOutput; import edu.ucsb.jpregel.system.Master; /** * * @author Pete Cappello */ public class SuperStepComplete implements Command<Master> { private ComputeOutput computeOutput; public SuperStepComplete() {} public SuperStepComplete( ComputeOutput computeOutput ) { this.computeOutput = computeOutput; } @Override public void execute(Proxy proxy) { proxy.sendCommand( this ); } @Override public void execute( Master master ) throws Exception { master.superStepComplete( computeOutput ); } @Override public void writeExternal( ObjectOutput oo ) throws IOException { oo.writeObject( computeOutput ); } @Override public void readExternal( ObjectInput oi ) throws IOException, ClassNotFoundException { computeOutput = ( ComputeOutput ) oi.readObject(); } }