You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Tracer uses a circular buffer to track the state of all Probe in-flight. To access a Probe in this buffer, the index is calculated as sequence number of the probe modulo the buffer size.
Whilst this works, it has the draw back that the probes for a given round may wrap around the buffer and therefore must be processed with an Iterator rather than a slice.
This changes the logic to index into the buffer using sequence - round_sequence (i.e. the sequence number - the initial sequence number of the round).
Therefore the buffer access will always start from 0 in every round and will never wrap around as the buffer size is the same as the maximum ttl allowed.
The text was updated successfully, but these errors were encountered:
The
Tracer
uses a circular buffer to track the state of allProbe
in-flight. To access aProbe
in this buffer, the index is calculated as sequence number of the probe modulo the buffer size.Whilst this works, it has the draw back that the probes for a given round may wrap around the buffer and therefore must be processed with an Iterator rather than a slice.
This changes the logic to index into the buffer using
sequence - round_sequence
(i.e. the sequence number - the initial sequence number of the round).Therefore the buffer access will always start from 0 in every round and will never wrap around as the buffer size is the same as the maximum
ttl
allowed.The text was updated successfully, but these errors were encountered: