A reservation is the `Defer()` call; the join starts after the handler ends

The call only registers; the join starts when the handler completes normally

A reservation is the `Defer()` call; the join starts after the handler ends The call only registers; the join starts when the handler completes normally during handler: JoinSpot(...).Defer() — register only; nothing starts handler completes normally → start join handler throws → discard registration; do not start join OnActorJoin accepts or refuses when accepted, commit location record and membership together destination OnJoinedActor · departure OnLeaveActor later messages for the Actor run in the User Spot Entry Spot (Actor handler) · Sequence participant Entry Spot (Actor handler) Framework · Sequence participant Framework location record · Sequence participant location record destination User Spot · Sequence participant destination User Spot join / leave callbacks · Sequence participant join / leave callbacks

Registration and join happen at different times

  • • `Defer()` does not run the join now; it registers the join to start after the handler completes normally.
  • • If the handler throws, its registration is discarded.