checkpoint
[fleet.git] / src / edu / berkeley / fleet / ships / AdderShip.java
1 package edu.berkeley.fleet.ships;
2 import edu.berkeley.fleet.*;
3
4 import java.util.*;
5 import java.io.*;
6
7 /**
8  * @author Adam Megacz <megacz@cs.berkeley.edu>
9  */
10 public class AdderShip extends Ship {
11
12     private int link;
13
14     DataInbox a = new DataInbox(this, "a");
15     DataInbox b = new DataInbox(this, "b");
16     DataOutbox out = new DataOutbox(this, "out");
17
18     public String getBalsaName() { return "adder"; }
19
20     public AdderShip(Fleet fleet, String name) {
21         super(fleet, name);
22     }
23
24     public void service() {
25         if (!out.readyForDataFromShip()) return;
26         if (!a.dataReadyForShip()) return;
27         if (!b.dataReadyForShip()) return;
28
29         int inA = a.removeDataForShip();
30         int inB = b.removeDataForShip();
31         int result = inA + inB;
32
33         out.addDataFromShip(result);
34     }
35 }