Complete networking integration gate (#58)
All checks were successful
Native code generation / deterministic (push) Successful in 12m1s
Imaging and meshing gate / native (push) Successful in 4m3s
Native Rust workspace compile / compile (push) Successful in 4m6s

This commit is contained in:
2026-08-09 19:45:06 +00:00
parent 1fd127bd8a
commit c8b2317e13
13 changed files with 978 additions and 397 deletions

View File

@@ -89,6 +89,10 @@ statuses and transport failures retry up to the request's configured retry
count with bounded backoff. Disposal cancels active and queued work, wakes every
waiter, joins the dispatcher, and prevents new requests.
`DownloadManager::active_download_count`, `dispatcher_running`, and
`is_disposed` expose payload-free lifecycle state for leak assertions. They do
not expose capability URIs or response data.
Errors expose only typed categories and `Debug` output substitutes a redacted
marker for capability URIs. No request URL, query token, body, or response body
is logged.

View File

@@ -113,6 +113,26 @@ canceled login leaves no simulator installed. Passwords, login tokens, MFA
hashes, session identifiers, seed capabilities, and estate access tokens are
excluded from `Debug` output and diagnostic messages.
## Statistics and milestone gate
`SimulatorSimStats` is the native thread-safe counterpart of the reference
`Simulator.SimStats`. Atomic counters track received/sent packets and bytes,
resends, drops, pings, pongs, lag, and bandwidth samples. Server `SimStats`
blocks update the 25 defined simulator measurements with the reference ID and
rounding rules; unknown IDs are ignored. Debug snapshots contain aggregate
counters only—never packet bytes, endpoints, capability URLs, or credentials.
The offline fake-grid gate composes the completed layers rather than replacing
their focused tests. It authenticates through injected LLSD HTTP, establishes a
real loopback UDP circuit, discovers seed capabilities, consumes an
`EventQueueGet` message that enables a second region, downloads a capability
asset, promotes that region, and completes the logout handshake. It then proves
CAPS polling was canceled, download and network workers were joined, sockets
were closed, state was cleared, and diagnostic formatting contains none of the
fixture tokens. `tools/check_milestone_08.py` also audits owned source files for
failure-only bodies and verifies the explicit queue, payload, event, retry, and
concurrency policy markers remain present.
The deterministic tests use loopback fake simulators and require no live grid:
```sh