1 package edu.berkeley.fleet.ships;
2 import edu.berkeley.fleet.interpreter.*;
3 import edu.berkeley.fleet.*;
9 * @author Adam Megacz <megacz@cs.berkeley.edu>
11 public class Adder extends InterpreterShip {
15 DataInbox a = new DataInbox(this, "a");
16 DataInbox b = new DataInbox(this, "b");
17 DataOutbox out = new DataOutbox(this, "out");
19 public String getBalsaName() { return "adder"; }
21 public Adder(Interpreter fleet, String name) {
25 public void service() {
26 if (!out.readyForDataFromShip()) return;
27 if (!a.dataReadyForShip()) return;
28 if (!b.dataReadyForShip()) return;
30 int inA = a.removeDataForShip();
31 int inB = b.removeDataForShip();
32 int result = inA + inB;
34 out.addDataFromShip(result);