1 package edu.berkeley.fleet.interpreter.ships;
2 import edu.berkeley.fleet.interpreter.*;
3 import edu.berkeley.fleet.*;
8 public class DeMux extends InterpreterShip {
10 DataInbox inp = new DataInbox(this, "in");
11 DataInbox selp = new DataInbox(this, "select");
12 DataOutbox truep = new DataOutbox(this, "true");
13 DataOutbox falsep = new DataOutbox(this, "false");
15 public String getBalsaName() { return "demux"; }
17 public DeMux (Interpreter fleet, String name) {
21 public void service() {
22 if (inp.dataReadyForShip() && selp.dataReadyForShip() &&
23 truep.readyForDataFromShip() && falsep.readyForDataFromShip()) {
24 int in = inp.removeDataForShip();
25 int sel = selp.removeDataForShip();
27 falsep.addDataFromShip(in);
29 truep.addDataFromShip(in);