2.14 Abandon
msg_type = 0x0004. Authority to source. No fields beyond the header.
Tells a source that a conversation will not continue: the client hung up, a limit was reached, or the authority terminated the logon for reasons of its own.
2.14.1 Why it exists #
Without it, a client that disconnects mid-prompt leaves the source holding conversation state forever. A source cannot detect this for itself — it is not party to the client's connection — so the authority has to say.
2.14.2 Rules #
- An authority MUST send
Abandonfor any conversation it opened that will not reach a terminal state, unless the connection itself is being torn down. - A source MUST discard all state for the conversation on receipt, and MUST NOT reply.
Abandonis not a terminal message from the source, and noAssertionorRefusalfollows it. If one arrives anyway, the authority MUST ignore it — the conversation is gone, and a late answer to an abandoned question is at best stale.- A source that receives
Abandonfor a conversation it does not know MUST ignore it. It has already cleaned up, which is the outcome the message wanted.