21 package org.matsim.core.mobsim.qsim.changeeventsengine;
23 import org.apache.logging.log4j.LogManager;
24 import org.apache.logging.log4j.Logger;
35 import jakarta.inject.Inject;
36 import java.util.Queue;
39 private static final Logger log = LogManager.getLogger( NetworkChangeEventsEngine.class ) ;
47 this.network = network;
48 this.messageQueue = messageQueue;
52 public void onPrepareSim() {
55 addNetworkChangeEventToMessageQ(changeEvent);
62 public void handleMessage() {
63 applyTheChangeEvent(changeEvent);
73 ((TimeVariantLink) netsimLink).recalcTimeVariantAttributes();
81 log.warn(
"add within-day network change event:" + event);
83 final Queue<NetworkChangeEvent> centralNetworkChangeEvents =
85 if ( centralNetworkChangeEvents.contains( event ) ) {
86 log.warn(
"network change event already in central data structure; not adding it again") ;
88 log.warn(
"network change event not yet in central data structure; adding it") ;
95 this.applyTheChangeEvent(event);
97 this.addNetworkChangeEventToMessageQ(event);
104 public void afterSim() {
110 this.internalInterface = internalInterface;
114 public void doSimStep(
double time) {
NetsimNetwork getNetsimNetwork()
void putMessage(Message m)
static Queue< NetworkChangeEvent > getNetworkChangeEvents(Network network)
MobsimTimer getSimTimer()
Collection< Link > getLinks()
static void addNetworkChangeEvent(Network network, NetworkChangeEvent event)