--- /dev/null
+package edu.berkeley.fleet.marina;
+import edu.berkeley.fleet.api.*;
+import edu.berkeley.fleet.two.*;
+
+public class MarinaDestination extends Destination {
+
+ private final BitVector bv;
+ private final MarinaFleet marina;
+
+ public MarinaDestination(MarinaFleet marina, BitVector bv) {
+ super(marina.onlyDock);
+ this.marina = marina;
+ bv.setImmutable();
+ this.bv = bv;
+ }
+
+ public String toString() {
+ return bv.toString();
+ }
+
+}
+
public class MarinaPath extends FleetTwoPath {
+ public static final int SIGNAL_BIT_INDEX = 13;
+
private final MarinaFleet marina;
final BitVector bv;
public String toString() { return "MarinaPath("+bv+")"; }
public BitVector getSignal() {
- throw new RuntimeException("not implemented");
+ BitVector ret = new BitVector(1);
+ ret.set(0, bv.get(SIGNAL_BIT_INDEX));
+ return ret;
}
public Dock getSource() { return marina.onlyDock; }
public Destination getDestination() {
- throw new RuntimeException("not implemented");
+ BitVector bvd = new BitVector(bv.length()-1);
+ int j=0;
+ for(int i=0; i<bv.length(); i++)
+ if (i!=SIGNAL_BIT_INDEX)
+ bvd.set(j++, bv.get(i));
+ return new MarinaDestination(marina, bvd);
}
public int getBufferingAmount() { return 1; }
public int getLatencyMetric() { return 0; }