Disconnect and end cleanup

the Room marks and leaves the Actor · the Framework returns it to the Entry Spot, which destroys it

Disconnect and end cleanup the Room marks and leaves the Actor · the Framework returns it to the Entry Spot, which destroys it Mark destroy after Entry Spot Leave Room ReportBingoResultReq ReportBingoResultRes Destroy Actor Room · Sequence participant Room Player Actor · Sequence participant Player Actor API · Sequence participant API Entry Spot · Sequence participant Entry Spot

Relocation and destroy (mermaid Notes and Entry Spot self-message)

  • • mermaid Note over PlayerActor,EntrySpot: after the Room leave, the Framework relocates the Actor to the Entry Spot and calls its join callback (Entry Spot self-message 'Invoke join callback').
  • • mermaid Note over EntrySpot,PlayerActor: Destroy does not invoke the leave callback — Destroy cleans up the Actor registry, native ref, and binding, but doesn't call onLeaveActor again.

Order and boundaries

  • • The Room records state so cleanup only starts once, marks each player Actor to destroy after returning to the Entry Spot, and leaves the room.
  • • The Room leave callback waits on API's result recording via Yield; the external effect is idempotent so the same result converges on re-run. The Entry Spot checks the mark and then calls the public destroy operation, expressed as an async completion with no result value.
  • • On a STREAM disconnect the Framework submits disconnect to each exact identity in the binding snapshot: it cleans up the bound session but doesn't iterate Actors, remove a binding directly, destroy the Actor, or change room membership.