The idea is that if it takes 10ms to generate a packet, then we should start generating the packet 10ms in advance so that the data is ready for when the graph is ready to process it.
To implement this:
We currently don't gather runtime statistics for the generator calculator. We need to do that. This might also remove some complexity in the code, where the generator calculator wouldn't be as much of a special case anymore.
in evaluate_packet_period(graph), we should subtract the source calculator's exec_time from the new source period before setting it.
The idea is that if it takes 10ms to generate a packet, then we should start generating the packet 10ms in advance so that the data is ready for when the graph is ready to process it.
To implement this:
evaluate_packet_period(graph)
, we should subtract the source calculator'sexec_time
from the new source period before setting it.