diff --git a/src/client.py b/src/client.py --- a/src/client.py +++ b/src/client.py @@ -105,8 +105,7 @@ class Client(NetNode): def sendData(self,blocksToTransfer): log.info(blocksToTransfer) - dataFile=open(self._filename, mode="rb") - i1=-1 + dataFile=DataFile.open(self._filename) print(datetime.now(), "sending data:") progress=Progress(len(blocksToTransfer)) @@ -116,16 +115,13 @@ class Client(NetNode): blocks=[] for j in range(conf.batchSize.data): if k+j>=len(blocksToTransfer): break - i2=blocksToTransfer[k+j] - if i1+1!=i2: - dataFile.seek(i2*HashTree.BLOCK_SIZE) - block=dataFile.read(HashTree.BLOCK_SIZE) + i=blocksToTransfer[k+j] + block=dataFile.readFrom(i) - indices.append(i2) + indices.append(i) blocks.append(block) - log.info("block #{0}: {1}...{2}".format(i2,block[:5],block[-5:])) + log.info("block #{0}: {1}...{2}".format(i,block[:5],block[-5:])) - i1=i2 progress.p(k+j) if indices: self._sendData(indices,blocks) progress.done()