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 DuplicatorShip extends InterpreterShip {
13 DataInbox in = new DataInbox(this, "in");
14 DataOutbox out0 = new DataOutbox(this, "out0");
15 DataOutbox out1 = new DataOutbox(this, "out1");
16 DataOutbox out2 = new DataOutbox(this, "out2");
17 DataOutbox out3 = new DataOutbox(this, "out3");
19 public DuplicatorShip (Interpreter fleet, String name) {
23 public void service() {
24 if (in.dataReadyForShip() && out0.readyForDataFromShip() &&
25 out1.readyForDataFromShip() && out2.readyForDataFromShip() &&
26 out3.readyForDataFromShip()) {
27 int data = in.removeDataForShip();
28 out0.addDataFromShip(data);
29 out1.addDataFromShip(data);
30 out2.addDataFromShip(data);
31 out3.addDataFromShip(data);