Hi,
I'm trying to simulate a protocol where 2 different sources send over the same wire. To stop an ongoing Transmission and start the other I'm using:
gate("phy$o")->getTransmissionChannel()->forceTransmissionFinishTime(simTime());
sendDelayed(buildPacket(TRAILER_PKG, pkgInfo)
,
0
,
"phy$o");
In the .ini-File for the network I'm enabling record statistics:
**.result-recording-modes = all
In the simulation itself I'm getting this error:
<!> Error in module (ubs::Tx) P2pTestBench.tx (id=2) at event #18, t=0.000001024: VectorRecorder: Cannot record data with an earlier timestamp (t=0.000001068) than the previously recorded value (t=0.000001658).
t = 0.000001658
is the old finishTime
t = 0.000001068 is the new finishTime
According to the stack-trace the error is thrown on the sendDelayed line above.
I played around with the delay for a bit, and the error disappears as soon at the delay pushes the start time >= the original finishTime.
Does someone know what's going on? Am I even using "result-recording-modes" correctly?