[core] Fixed checkTimers interval (100ms -> 10 ms) #913
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There are two triggers to check timers on a receiving socket.
The first one is to check timers on every packet received. It is done in
CRcvQueue::worker_ProcessAddressedPacket(…)
.The second place to check the timers is by a timeout in
CRcvQueue::worker(…)
.The condition was to check the timers if the time of the last check for that socket was at least 100 ms in the past.
However, the timer needs to be checked every 10 ms, in accordance to the communication synchronization interval.
Impact of the bug
Having a 100 ms check does not impact live transmission mode, because the receiver has a constant stream of incoming packets, that trigger timers check.
On the contrary, in file mode the sender first sends 16 packets and waits for an ACK packet from the receiver. And the waiting time might be 100 ms, that slows down the start of the transmission.