parameters: (self, b)
docstring: Read up to len(b) bytes into the writable buffer *b* and return
          the number of bytes read.  If the socket is non-blocking and no bytes
          are available, None is returned.
  
          If *b* is non-empty, a 0 return value indicates that the connection
          was shutdown at the other end.
docstring_summary: Read up to len(b) bytes into the writable buffer *b* and return
          the number of bytes read.  If the socket is non-blocking and no bytes
          are available, None is returned.
docstring_tokens: Read up to len ( b ) bytes into the writable buffer * b * and return the number of bytes read . If the socket is non - blocking and no bytes are available None is returned .
function: def readinto(self, b):
          """Read up to len(b) bytes into the writable buffer *b* and return
          the number of bytes read.  If the socket is non-blocking and no bytes
          are available, None is returned.
  
          If *b* is non-empty, a 0 return value indicates that the connection
          was shutdown at the other end.
          """
          self._checkClosed()
          self._checkReadable()
          if self._timeout_occurred:
              raise OSError("cannot read from timed out object")
          while True:
              try:
                  return self._sock.recv_into(b)
              except timeout:
                  self._timeout_occurred = True
                  raise
              except error as e:
                  if e.args[0] in _blocking_errnos:
                      return None
                  raise
function_tokens: def readinto ( self , b ) : self . _checkClosed ( ) self . _checkReadable ( ) if self . _timeout_occurred : raise OSError ( "cannot read from timed out object" ) while True : try : return self . _sock . recv_into ( b ) except timeout : self . _timeout_occurred = True raise except error as e : if e . args [ 0 ] in _blocking_errnos : return None raise