in mssqlscripter/jsonrpc/jsonrpcclient.py [0:0]
def read_next_chunk(self):
"""
Read a chunk from the output stream into buffer.
Exceptions raised:
EOFError
Stream was empty or Stream did not contain a valid header or content-body.
ValueError
Stream was closed externally.
"""
# Check if we need to resize.
current_buffer_size = len(self.buffer)
if ((current_buffer_size - self.buffer_end_offset) /
current_buffer_size) < self.BUFFER_RESIZE_TRIGGER:
resized_buffer = bytearray(current_buffer_size * 2)
# copy current buffer content to new buffer.
resized_buffer[0:current_buffer_size] = self.buffer
# point to new buffer.
self.buffer = resized_buffer
# Memory view is required in order to read into a subset of a byte
# array
try:
length_read = self.stream.readinto(
memoryview(self.buffer)[self.buffer_end_offset:])
self.buffer_end_offset += length_read
if not length_read:
logger.debug(u'JSON RPC Reader reached end of stream')
raise EOFError(u'End of stream reached, no output.')
return True
except ValueError as ex:
logger.debug(
u'JSON RPC Reader on read_next_chunk encountered exception: {}'.format(ex))
# Stream was closed.
raise