159 header = connection.read(struct.calcsize(b'!II')) |
159 header = connection.read(struct.calcsize(b'!II')) |
160 length, datahash = struct.unpack(b'!II', header) |
160 length, datahash = struct.unpack(b'!II', header) |
161 |
161 |
162 packedData = b'' |
162 packedData = b'' |
163 while len(packedData) < length: |
163 while len(packedData) < length: |
164 # this wait influences speed in batch mode (smaller is faster) |
164 maxSize = length - len(packedData) |
165 connection.waitForReadyRead(5) |
165 if connection.bytesAvailable() < maxSize: |
166 packedData += connection.read(length - len(packedData)) |
166 connection.waitForReadyRead(50) |
|
167 packedData += connection.read(maxSize) |
167 |
168 |
168 assert adler32(packedData) & 0xffffffff == datahash, \ |
169 assert adler32(packedData) & 0xffffffff == datahash, \ |
169 'Hashes not equal' |
170 'Hashes not equal' |
170 if sys.version_info[0] == 3: |
171 if sys.version_info[0] == 3: |
171 packedData = packedData.decode('utf-8') |
172 packedData = packedData.decode('utf-8') |