protocol/testing/conformance/network
packages/protocol/src/testing/conformance/network
Purpose
Public barrel for network-layer conformance properties. Network-layer conformance properties. Connection / presence / subscription invariants —Connect lifecycle,
server-derived presence (PresenceSubscribe fan-out + presence/changed
notifications), reconnect semantics, same-state collapse. Presence is
server-derived from LeaseRegistry lifecycle plus WS connect/disconnect;
PresenceService implements LeaseTransitionObserver and broadcasts
presence/changed to subscribers. There is no client-driven
presence/update RPC.
Each register* lives in its own file. This barrel re-exports them
by name AND aggregates them into NETWORK_PROPERTIES for the
_shared/suite.ts aggregator.
Public surface
acquireClient
Function
acquireCloseableClient
Function
countPresenceChangedFor
Function
NETWORK_PROPERTIES
Variable
presence.ts registration sequence).
PRESENCE_CATEGORY
Variable
PRESENCE_DEFAULT_CAPTURE_CAPACITY
Variable
PRESENCE_DEFAULT_TIMEOUT_MS
Variable
PresenceChangedPayload
Interface
PresenceStatus
TypeAlias
presenceStatusesFor
Function
presenceViolation
Function
registerAgent
Function
registerConnectBroadcast
Function
registerDisconnectBroadcast
Function
registerMultiSubscriberFanOut
Function
registerReconnectStorm
Function
registerSameStateNoDoubleFire
Function
registerSubscribeAfterConnect
Function
subscribePresence
Function
waitForPresenceWithStatus
Function
presence/changed notification whose payload
matches expected.agentId + expected.status.
TestClient.subscribe(def) filters by descriptor only, so we
consume the broad-union subscribeAll() Stream with a per-payload
predicate and timeout it ourselves (#645: replaces the legacy
polling client.notifications Stream).
Files
_helpers.tsindex.tspresence-connect-broadcast.tspresence-disconnect-broadcast.tspresence-multi-subscriber-fan-out.tspresence-reconnect-storm.tspresence-same-state-no-double-fire.tspresence-subscribe-after-connect.ts