added fleet api classes
[fleet.git] / src / edu / berkeley / fleet / ships / TokenFifo.java
1 package edu.berkeley.fleet.ships;
2 import edu.berkeley.fleet.*;
3
4 import java.util.*;
5 import java.io.*;
6
7 public class TokenFifo extends Ship {
8
9     private int count = 0;
10
11     TokenOutbox out     = new TokenOutbox(this, "out");
12     TokenInbox  in      = new TokenInbox(this, "in");
13
14     public TokenFifo(Fleet fleet, String name) {
15         super(fleet, name);
16     }
17
18     public void service() {
19         if (in.tokenReadyForShip()) {
20             count++;
21             in.removeTokenForShip();
22             return;
23         }
24         if (count > 0 && out.readyForTokenFromShip()) {
25             count--;
26             out.addTokenFromShip();
27         }
28     }
29
30 }