1 package edu.berkeley.fleet.ships;
2 import edu.berkeley.fleet.interpreter.*;
3 import edu.berkeley.fleet.*;
8 public class Fifo extends InterpreterShip {
10 DataInbox in = new DataInbox(this, "in");
11 DataOutbox out = new DataOutbox(this, "out");
13 public String getBalsaName() { return "fifo"; }
15 private Queue<Integer> fifo = new LinkedList<Integer>();
17 public Fifo(Interpreter fleet, String name) {
21 public void service() {
22 if (in.dataReadyForShip()) {
23 fifo.add(in.removeDataForShip());
24 //Log.println(name + ": fifo occupancy is now " + fifo.size() + " items");
26 if (out.readyForDataFromShip() && fifo.size() > 0) {
27 out.addDataFromShip(fifo.remove());
28 //Log.println(name + ": fifo occupancy is now " + fifo.size() + " items");