code: def request_help(self, req, msg):
          
          if not msg.arguments:
              for name, method in sorted(self._request_handlers.items()):
                  doc = method.__doc__
                  req.inform(name, doc)
              num_methods = len(self._request_handlers)
              return req.make_reply("ok", str(num_methods))
          else:
              name = msg.arguments[0]
              if name in self._request_handlers:
                  method = self._request_handlers[name]
                  doc = method.__doc__.strip()
                  req.inform(name, doc)
                  return req.make_reply("ok", "1")
              return req.make_reply("fail", "Unknown request method.")
docs: Return help on the available requests.
  
          Return a description of the available requests using a sequence of
          #help informs.
  
          Parameters
          ----------
          request : str, optional
              The name of the request to return help for (the default is to
              return help for all requests).
  
          Informs
          -------
          request : str
              The name of a request.
          description : str
              Documentation for the named request.
  
          Returns
          -------
          success : {'ok', 'fail'}
              Whether sending the help succeeded.
          informs : int
              Number of #help inform messages sent.
  
          Examples
          --------
          ::
  
              ?help
              #help halt ...description...
              #help help ...description...
              ...
              !help ok 5
  
              ?help halt
              #help halt ...description...
              !help ok 1