MCPcopy Create free account
hub / github.com/dbcli/mssql-cli / read_next_chunk

Method read_next_chunk

mssqlcli/jsonrpc/jsonrpcclient.py:298–332  ·  view source on GitHub ↗

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.

(self)

Source from the content-addressed store, hash-verified

296 raise
297
298 def read_next_chunk(self):
299 """
300 Read a chunk from the output stream into buffer.
301 Exceptions raised:
302 EOFError
303 Stream was empty or Stream did not contain a valid header or content-body.
304 ValueError
305 Stream was closed externally.
306 """
307 # Check if we need to resize.
308 current_buffer_size = len(self.buffer)
309 if ((current_buffer_size - self.buffer_end_offset) /
310 current_buffer_size) < self.BUFFER_RESIZE_TRIGGER:
311 resized_buffer = bytearray(current_buffer_size * 2)
312 # copy current buffer content to new buffer.
313 resized_buffer[0:current_buffer_size] = self.buffer
314 # point to new buffer.
315 self.buffer = resized_buffer
316
317 # Memory view is required in order to read into a subset of a byte
318 # array
319 try:
320 length_read = self.stream.readinto(
321 memoryview(self.buffer)[self.buffer_end_offset:])
322 self.buffer_end_offset += length_read
323
324 if not length_read:
325 logger.debug(u'JSON RPC Reader reached end of stream')
326 raise EOFError(u'End of stream reached, no output.')
327
328 return True
329 except ValueError as ex:
330 logger.debug(u'JSON RPC Reader on read_next_chunk encountered exception: %s', ex)
331 # Stream was closed.
332 raise
333
334 def try_read_headers(self):
335 """

Callers 2

read_responseMethod · 0.95
test_read_stateMethod · 0.95

Calls

no outgoing calls

Tested by 1

test_read_stateMethod · 0.76