def begin(self): """ Client start point. Initially, it requests all pieces from the HTTP server. """ self._pending = IntegerSet(range(self.sim.piece_count)) self._target_chunk_size = math.ceil(self.sim.piece_count / self.sim.pieces_split_size) self._request_pieces()
def __init__(self, sim, down_mbps, up_mbps): self.sim = sim self.down_mbps = down_mbps self.up_mbps = up_mbps self.id = self.ID_COUNTER Host.ID_COUNTER += 1 self.uploads = [] self.downloads = [] self.pieces = IntegerSet() self.upload_check_event = sim.env.event() self.sim.env.process(self.upload_check_process())
""" Tests to check if IntegerSet is working correctly """ from integer_set import IntegerSet s = IntegerSet() s.add_range(range(30, 40)) s.add_range(range(0, 20)) s.add_range(range(20, 21)) s.add_range(range(80, 82)) s.add_range(range(0, 20)) s.add_range(range(0, 20)) s.add_range(range(3, 11)) s.add_range(range(80, 85)) s.add_range(range(40, 81)) s.add_range(range(0, 100)) s.add_range(range(150, 151)) print(s) t = IntegerSet(range(20, 25)) t.add_range(range(19, 19)) t.add_range(range(19, 20)) t.add_range(range(16, 20)) t.add_range(range(30, 31)) t.add_range(range(100000, 100002)) t.add_range(range(1)) print("------") print(t)