parameters: (self, size=None)
docstring: Read size bytes.
  
          Returns exactly size bytes of data unless the underlying raw IO
          stream reaches EOF or if the call would block in non-blocking
          mode. If size is negative, read until EOF or until read() would
          block.
docstring_summary: Read size bytes.
docstring_tokens: Read size bytes .
function: def read(self, size=None):
          """Read size bytes.
  
          Returns exactly size bytes of data unless the underlying raw IO
          stream reaches EOF or if the call would block in non-blocking
          mode. If size is negative, read until EOF or until read() would
          block.
          """
          if size is not None and size < -1:
              raise ValueError("invalid number of bytes to read")
          with self._read_lock:
              return self._read_unlocked(size)
function_tokens: def read ( self , size = None ) : if size is not None and size < - 1 : raise ValueError ( "invalid number of bytes to read" ) with self . _read_lock : return self . _read_unlocked ( size )