Implement network lifecycle teardown and logout (#57)
This commit is contained in:
@@ -303,6 +303,14 @@ Credentials and session/capability tokens are redacted from diagnostics, and
|
||||
offline fake login/simulator tests cover success, rejection, redirect, timeout,
|
||||
and cancellation cleanup. The login contract is documented with the network
|
||||
lifecycle in [`docs/network-manager.md`](docs/network-manager.md).
|
||||
Region handoff and logout now follow the same packet-level lifecycle as the
|
||||
golden implementation: a promoted simulator receives `UseCircuitCode` and
|
||||
`CompleteAgentMovement`, while blocking, asynchronous, and nonblocking logout
|
||||
send `LogoutRequest`, validate `LogoutReply`, preserve callback ordering, and
|
||||
perform bounded idempotent teardown. Shutdown cancels login/logout work before
|
||||
closing every simulator and worker, clears session and capability secrets, and
|
||||
allows the manager to reconnect cleanly afterward. Loopback fake-server tests
|
||||
cover handoff, reconnect, reply, timeout, cancellation, and repeated shutdown.
|
||||
Seed-cap discovery and `EventQueueGet` are native Rust too: the full reference
|
||||
capability list is posted as LLSD/XML, accepted URIs are rate-categorized, and
|
||||
bounded long polls preserve ack IDs, reconnect retries, shutdown `done`, and
|
||||
|
||||
Reference in New Issue
Block a user