code: def readinto(self, byte_array):
          
          max_size = len(byte_array)
          data = self.read(max_size)
          bytes_read = len(data)
          byte_array[:bytes_read] = data
          return bytes_read
docs: Read data into a byte array, upto the size of the byte array.
  
          :param byte_array: A byte array/memory view to pour bytes into.
          :type byte_array: ``bytearray`` or ``memoryview``