def _mark_received(self, tsn):
        """
        Mark an incoming data TSN as received.
        """
        # it's a duplicate
        if uint32_gte(self._last_received_tsn, tsn) or tsn in self._sack_misordered:
            self._sack_duplicates.append(tsn)
            return True

        # consolidate misordered entries
        self._sack_misordered.add(tsn)
        for tsn in sorted(self._sack_misordered):
            if tsn == tsn_plus_one(self._last_received_tsn):
                self._last_received_tsn = tsn
            else:
                break

        # filter out obsolete entries
        def is_obsolete(x):
            return uint32_gt(x, self._last_received_tsn)
        self._sack_duplicates = list(filter(is_obsolete, self._sack_duplicates))
        self._sack_misordered = set(filter(is_obsolete, self._sack_misordered))
def _mark_received ( self , tsn ) : if uint32_gte ( self . _last_received_tsn , tsn ) or tsn in self . _sack_misordered : self . _sack_duplicates . append ( tsn ) return True self . _sack_misordered . add ( tsn ) for tsn in sorted ( self . _sack_misordered ) : if tsn == tsn_plus_one ( self . _last_received_tsn ) : self . _last_received_tsn = tsn else : break def is_obsolete ( x ) : return uint32_gt ( x , self . _last_received_tsn ) self . _sack_duplicates = list ( filter ( is_obsolete , self . _sack_duplicates ) ) self . _sack_misordered = set ( filter ( is_obsolete , self . _sack_misordered ) )
Mark an incoming data TSN as received.