in mssqlscripter/jsonrpc/jsonrpcclient.py [0:0]
def trim_buffer_and_resize(self, bytes_to_remove):
"""
Trim the buffer by the passed in bytes_to_remove by creating a new buffer that is at a minimum the default max size.
"""
current_buffer_size = len(self.buffer)
# Create a new buffer with either minumum size or leftover size.
new_buffer = bytearray(max(current_buffer_size -
bytes_to_remove, self.DEFAULT_BUFFER_SIZE))
# if we have content we did not read, copy that portion to the new
# buffer.
if (bytes_to_remove <= current_buffer_size):
new_buffer[:self.buffer_end_offset -
bytes_to_remove] = self.buffer[bytes_to_remove:self.buffer_end_offset]
# Point to the new buffer.
self.buffer = new_buffer
# reset pointers after the shift.
self.read_offset = 0
self.buffer_end_offset -= bytes_to_remove