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
// Recompute the in-flight gate. While a report is still in flight within its confirmation
60
-
// grace window we are not ready (return false). Once the window elapses, re-arm the resend
61
-
// for the still-pending reports (their baseline was never advanced, so the current state is
62
-
// re-sent rather than lost) and report ready.
54
+
// NOTE: if we retry too soon, we might get a double report confirmation, confirming this report and the next one, which would make us loose the next one if its transport failes. Low probability in practice.
63
55
boolUsbSemaphore_RecalculateIsReady(void) {
64
56
if (UsbSemaphore_AnyInFlight() &&CurrentPowerMode <= PowerMode_LastAwake) {
65
57
if (Timer_GetElapsedTime(&UpdateUsbReports_LastUpdateTime) <USB_SEMAPHORE_TIMEOUT) {
0 commit comments