def _transport_fifo_reset(self):
self._transport_fifo = []
self._last_received_anything_ms = self._now_ms()
self._last_sent_ack_time_ms = self._now_ms()
self._last_sent_frame_ms = 0
self._last_received_frame_ms = 0
self._sn_min = 0
self._sn_max = 0
self._rn = 0
Scenario for this problem:
To fix that I've added self._rn = 0 to _transport_fifo_reset, it seems to work OK, but need to be confirmed by someone with expertise.