code: def abort(self):
          
          if (self._state != StanzaState.ACTIVE and
                  self._state != StanzaState.ABORTED):
              raise RuntimeError("cannot abort stanza (already sent)")
          self._set_state(StanzaState.ABORTED)
docs: Abort the stanza. Attempting to call this when the stanza is in any
          non-:class:`~StanzaState.ACTIVE`, non-:class:`~StanzaState.ABORTED`
          state results in a :class:`RuntimeError`.
  
          When a stanza is aborted, it will reside in the active queue of the
          stream, not will be sent and instead discarded silently.