code: def publish_request(self, subject, reply, payload):
          
          payload_size = len(payload)
          if payload_size > self._max_payload_size:
              raise ErrMaxPayload
          if self.is_closed:
              raise ErrConnectionClosed
          yield self._publish(subject, reply, payload, payload_size)
          if self._flush_queue.empty():
              yield self._flush_pending()
docs: Publishes a message tagging it with a reply subscription
          which can be used by those receiving the message to respond:
  
            ->> PUB hello   _INBOX.2007314fe0fcb2cdc2a2914c1 5
            ->> MSG_PAYLOAD: world
            <<- MSG hello 2 _INBOX.2007314fe0fcb2cdc2a2914c1 5