code: def start(self, request=None):
          
          self.connection.processed += 1
          self.producer.requests_processed += 1
          self.event('post_request').bind(self.finished_reading)
          self.request = request or self.create_request()
          try:
              self.fire_event('pre_request')
          except AbortEvent:
              if self._loop.get_debug():
                  self.producer.logger.debug('Abort request %s', request)
          else:
              self.start_request()
docs: Starts processing the request for this protocol consumer.
  
          There is no need to override this method,
          implement :meth:`start_request` instead.
          If either :attr:`connection` or :attr:`transport` are missing, a
          :class:`RuntimeError` occurs.
  
          For server side consumer, this method simply fires the ``pre_request``
          event.