@Override public QLinkI createNetsimLink(Link link, QNodeI queueNode) { QLinkI ql = null; LanesToLinkAssignment l2l = this.laneDefinitions.getLanesToLinkAssignments().get(link.getId()); if (l2l != null){ List<ModelLane> lanes = LanesUtils.createLanes(link, l2l); // LinkSpeedCalculator linkSpeedCalculator = new DefaultLinkSpeedCalculator() ; // // yyyyyy I don't think that this was set correctly for this execution path before I refactored this. kai, feb'18 // ql = new QLinkLanesImpl(link, queueNode, lanes, context, netsimEngine, linkSpeedCalculator); QLinkLanesImpl.Builder builder = new QLinkLanesImpl.Builder(context, netsimEngine) ; ql = builder.build( link, queueNode, lanes ) ; } else { ql = this.delegate.createNetsimLink(link, queueNode); } return ql; }
@Override public void writeConstData(ByteBuffer out) throws IOException { //write the data for the links out.putInt(this.network.getVisLinks().size()); for (VisLink visLink : this.network.getVisLinks().values()) { LanesToLinkAssignment l2l = null; if (this.lanes != null){ l2l = this.lanes.getLanesToLinkAssignments().get(visLink.getLink().getId()); } List<ModelLane> la = null; if (l2l != null) { la = LanesUtils.createLanes(visLink.getLink(), l2l); } VisLinkWLanes otfLink = this.laneModelBuilder.createVisLinkLanes(OTFServerQuadTree.getOTFTransformation(), visLink, config.qsim().getNodeOffset(), la); //write link data ByteBufferUtils.putObject(out, otfLink); } }