public static LeaveRoadMessage getLeaveRoadMessage(Scheduler scheduler, Vehicle vehicle) { if (leaveRoadMessageQueue.size() == 0) { return new LeaveRoadMessage(scheduler, vehicle); } else { LeaveRoadMessage message = leaveRoadMessageQueue.poll(); message.resetMessage(scheduler, vehicle); return message; } }
@Override public void handleMessage() { Road road = (Road) this.getReceivingUnit(); road.leaveRoad(vehicle, getMessageArrivalTime()); }
public void testMessageFactory1(){ MessageFactory.GC_ALL_MESSAGES(); JDEQSimConfigGroup.setGC_MESSAGES(true); MessageFactory.disposeEndLegMessage(new EndLegMessage(null,null)); MessageFactory.disposeEnterRoadMessage(new EnterRoadMessage(null,null)); MessageFactory.disposeStartingLegMessage(new StartingLegMessage(null,null)); MessageFactory.disposeLeaveRoadMessage(new LeaveRoadMessage(null,null)); MessageFactory.disposeEndRoadMessage(new EndRoadMessage(null,null)); MessageFactory.disposeDeadlockPreventionMessage(new DeadlockPreventionMessage(null,null)); assertEquals(0, MessageFactory.getEndLegMessageQueue().size()); assertEquals(0, MessageFactory.getEnterRoadMessageQueue().size()); assertEquals(0, MessageFactory.getStartingLegMessageQueue().size()); assertEquals(0, MessageFactory.getLeaveRoadMessageQueue().size()); assertEquals(0, MessageFactory.getEndRoadMessageQueue().size()); assertEquals(0, MessageFactory.getEndLegMessageQueue().size()); }
public void testMessageFactory2(){ MessageFactory.GC_ALL_MESSAGES(); JDEQSimConfigGroup.setGC_MESSAGES(false); MessageFactory.disposeEndLegMessage(new EndLegMessage(null,null)); MessageFactory.disposeEnterRoadMessage(new EnterRoadMessage(null,null)); MessageFactory.disposeStartingLegMessage(new StartingLegMessage(null,null)); MessageFactory.disposeLeaveRoadMessage(new LeaveRoadMessage(null,null)); MessageFactory.disposeEndRoadMessage(new EndRoadMessage(null,null)); MessageFactory.disposeDeadlockPreventionMessage(new DeadlockPreventionMessage(null,null)); assertEquals(1, MessageFactory.getEndLegMessageQueue().size()); assertEquals(1, MessageFactory.getEnterRoadMessageQueue().size()); assertEquals(1, MessageFactory.getStartingLegMessageQueue().size()); assertEquals(1, MessageFactory.getLeaveRoadMessageQueue().size()); assertEquals(1, MessageFactory.getEndRoadMessageQueue().size()); assertEquals(1, MessageFactory.getEndLegMessageQueue().size()); }
public void testMessageFactory3(){ MessageFactory.GC_ALL_MESSAGES(); JDEQSimConfigGroup.setGC_MESSAGES(false); MessageFactory.disposeEndLegMessage(new EndLegMessage(null,null)); MessageFactory.disposeEnterRoadMessage(new EnterRoadMessage(null,null)); MessageFactory.disposeStartingLegMessage(new StartingLegMessage(null,null)); MessageFactory.disposeLeaveRoadMessage(new LeaveRoadMessage(null,null)); MessageFactory.disposeEndRoadMessage(new EndRoadMessage(null,null)); MessageFactory.disposeDeadlockPreventionMessage(new DeadlockPreventionMessage(null,null)); MessageFactory.getEndLegMessage(null, null); MessageFactory.getEnterRoadMessage(null, null); MessageFactory.getStartingLegMessage(null, null); MessageFactory.getLeaveRoadMessage(null, null); MessageFactory.getEndRoadMessage(null, null); MessageFactory.getDeadlockPreventionMessage(null, null); assertEquals(0, MessageFactory.getEndLegMessageQueue().size()); assertEquals(0, MessageFactory.getEnterRoadMessageQueue().size()); assertEquals(0, MessageFactory.getStartingLegMessageQueue().size()); assertEquals(0, MessageFactory.getLeaveRoadMessageQueue().size()); assertEquals(0, MessageFactory.getEndRoadMessageQueue().size()); assertEquals(0, MessageFactory.getEndLegMessageQueue().size()); }
@Override public void processEvent() { Road road = (Road) this.getReceivingUnit(); Event event = null; event = new LinkLeaveEvent(this.getMessageArrivalTime(), Id.create(vehicle.getOwnerPerson().getId(), org.matsim.vehicles.Vehicle.class), road.getLink().getId()); eventsManager.processEvent(event); }