class BatchRequest(object): def __init__(self, parent, start): self.parent = parent self.numactive = 0 self.start = start self.requests = OrderedDict() def add_request(self, filename, begin, length): r = (filename, begin, length) assert r not in self.requests self.parent._add_request(filename, begin, length, self) self.requests[r] = None self.numactive += 1 def got_request(self, filename, begin, length, data): self.requests[(filename, begin, length)] = data self.numactive -= 1 def get_result(self): if self.numactive > 0: return None chunks = [] for k in self.requests.itervalues(): chunks.append(k) return ''.join(chunks)
def __init__(self, parent, start): self.parent = parent self.numactive = 0 self.start = start self.requests = OrderedDict()