We should detect a timeout when current_time - timestamp >= timeout, and not only when curr_time - timestamp > timeout.
If we don't do that, commands with request intervals equal to zero would be ignored if called two or more times in a time interval of less than one millisecond. Since, intuitively, a command with a minimum request interval equal to zero does not have a minimum request interval at all - and so should never be ignored - we should change the comparison in this line to the one suggested above.
We should detect a timeout when
current_time - timestamp >= timeout
, and not only whencurr_time - timestamp > timeout
.If we don't do that, commands with request intervals equal to zero would be ignored if called two or more times in a time interval of less than one millisecond. Since, intuitively, a command with a minimum request interval equal to zero does not have a minimum request interval at all - and so should never be ignored - we should change the comparison in this line to the one suggested above.