code: def send_request(self, request):
          '''Send a Request.  Return a (message, event) pair.
  
          The message is an unframed message to send over the network.
          Wait on the event for the response; which will be in the
          "result" attribute.
  
          Raises: ProtocolError if the request violates the protocol
          in some way..
          '''
          request_id = next(self._id_counter)
          message = self._protocol.request_message(request, request_id)
          return message, self._event(request, request_idf send_request(self, request):
          '''Send a Request.  Return a (message, event) pair.
  
          The message is an unframed message to send over the network.
          Wait on the event for the response; which will be in the
          "result" attribute.
  
          Raises: ProtocolError if the request violates the protocol
          in some way..
          '''
          request_id = next(self._id_counter)
          message = self._protocol.request_message(request, request_id)
          return message, self._event(request, request_id)
docs: Send a Request.  Return a (message, event) pair.
  
          The message is an unframed message to send over the network.
          Wait on the event for the response; which will be in the
          "result" attribute.
  
          Raises: ProtocolError if the request violates the protocol
          in some way..