fix: harden OpenSim session readiness
This commit is contained in:
@@ -37,11 +37,14 @@ server failures retry with exponential backoff. `reconnect.maximum_delay_seconds
|
||||
is a hard cap. A server retry hint is a minimum up to that cap. Per-instance
|
||||
jitter is bounded by `jitter_basis_points`, preventing synchronized reconnects,
|
||||
and a connection that remains up for `stable_reset_seconds` resets the failure
|
||||
streak.
|
||||
streak. A connected generation that does not reach full event-queue readiness
|
||||
within `readiness_timeout_seconds` is logged out and retried instead of
|
||||
remaining degraded indefinitely.
|
||||
|
||||
Backoff defaults are one second initially, 60 seconds maximum, 20 percent
|
||||
jitter, and a 120-second stable reset window. All waits use Tokio timers inside
|
||||
`select!` with cancellation/control; there are no blocking sleeps.
|
||||
jitter, a 30-second readiness deadline, and a 120-second stable reset window.
|
||||
All waits use Tokio timers inside `select!` with cancellation/control; there are
|
||||
no blocking sleeps.
|
||||
|
||||
## Generation and work safety
|
||||
|
||||
|
||||
@@ -40,8 +40,10 @@ With the opt-in and all three `.env` values present, every live case is compiled
|
||||
without `#[ignore]`. The test run must report zero ignored cases. Test bodies do
|
||||
not print-and-return on missing OpenSim data: a missing inventory item, outfit
|
||||
link, appearance update, covenant response, current-region lookup, capability,
|
||||
or object packet is a real failure. Login uses the account's OpenSim `last`
|
||||
location instead of a hardcoded Second Life region.
|
||||
or object packet is a real failure. Live fixtures serialize access to the
|
||||
dedicated account even when the Rust test runner uses multiple threads. Login uses the account's OpenSim `last`
|
||||
location instead of a hardcoded Second Life region, with one bounded `home`
|
||||
fallback when the grid reports that the last region is unavailable.
|
||||
|
||||
`GRID_LOGIN_URL` is used directly as the LLSD login endpoint; the harness does
|
||||
not substitute a Second Life login host or path. The login request includes the
|
||||
|
||||
Reference in New Issue
Block a user