1 package edu.berkeley.fleet.interpreter.ships;
2 import edu.berkeley.fleet.interpreter.*;
3 import edu.berkeley.fleet.*;
9 * @author Dominic Antonelli <dantonel@berkeley.edu>
11 public class ScatterShip extends InterpreterShip {
13 DataInbox in = new DataInbox(this, "in");
14 Vector<DataOutbox> out = new Vector<DataOutbox>();
17 private int state = 0;
19 public ScatterShip(Interpreter fleet, String name) {
24 private boolean initialized = false;
26 for (int i = 0; i < size; i++) {
27 out.add(new DataOutbox(this, "out" + i));
32 public void service() {
33 if (!initialized) init();
34 if (in.dataReadyForShip() && out.get(state).readyForDataFromShip()) {
35 out.get(state).addDataFromShip(in.removeDataForShip());
36 state = (state + 1) % size;
40 public int resolveShipSpecificConstant(String shipSpecificData) {