def known_completed(self, commands): completed = RangedSet() for c in self._completed.ranges: for kc in commands.ranges: if c.lower in kc and c.upper in kc: break else: completed.add_range(c) self._completed = completed
def read_sequence_set(self): result = RangedSet() size = self.read_uint16() nranges = size / 8 while nranges > 0: lower = self.read_sequence_no() upper = self.read_sequence_no() result.add(lower, upper) nranges -= 1 return result
def session_flush(self, ch, f): rcv = ch.session.receiver if f.expected: if rcv.next_id == None: exp = None else: exp = RangedSet(rcv.next_id) ch.session_expected(exp) if f.confirmed: ch.session_confirmed(rcv._completed) if f.completed: ch.session_completed(rcv._completed)
def __init__(self, session): self.session = session self.next_id = serial(0) self.commands = [] self._completed = RangedSet()
def __init__(self, session): self.session = session self.next_id = None self._completed = RangedSet()