public class MarinaPath extends FleetTwoPath {
- private final MarinaFleet marina;
+ public static final int SIGNAL_BIT_INDEX = 13;
+
+ private final Marina marina;
final BitVector bv;
- public MarinaPath(MarinaFleet marina, BitVector bv) {
+ public MarinaPath(Marina marina, BitVector bv) {
this.marina = marina;
this.bv = bv;
bv.setImmutable();
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; }