parameters: (self, size=None)
return_statement: return buf
docstring: Return the next size number of bytes from the stream.
             If size is not defined, return all bytes of the stream
             up to EOF.
docstring_summary: Return the next size number of bytes from the stream.
             If size is not defined, return all bytes of the stream
             up to EOF.
docstring_tokens: Return the next size number of bytes from the stream . If size is not defined return all bytes of the stream up to EOF .
function: def read(self, size=None):
          """Return the next size number of bytes from the stream.
             If size is not defined, return all bytes of the stream
             up to EOF.
          """
          if size is None:
              t = []
              while True:
                  buf = self._read(self.bufsize)
                  if not buf:
                      break
                  t.append(buf)
              buf = b"".join(t)
          else:
              buf = self._read(size)
          self.pos += len(buf)
          return buf
function_tokens: def read ( self , size = None ) : if size is None : t = [ ] while True : buf = self . _read ( self . bufsize ) if not buf : break t . append ( buf ) buf = b"" . join ( t ) else : buf = self . _read ( size ) self . pos += len ( buf ) return buf