PROTOCOL NOTES / 10

03 · NDP through IPv6, TLS, greeting and hello

Participants: Aware, Android, Runtime, Engine

Implemented software · Physical qualification pending

Starting state

Validated desired discovery peer and an available request slot; responder discovery session exists.

Ordered events

  1. Aware → Android

    requestNetwork with peer and passphrase

  2. Android → Aware

    onAvailable/onLinkPropertiesChanged expose Network and scoped IPv6

  3. Aware → Runtime

    addNetwork carries request, session, incarnation and expected peer

  4. Runtime → Aware

    installed acknowledgment follows socket installation

  5. Runtime → Runtime

    Bind sockets; TCP connect; TLS 1.3 peer proof; exchange greeting

  6. Runtime → Engine

    Attach TLS identity/exporter and send/verify hello

Fields and messages

networkHandle,requestId,sessionGeneration,incarnation,localAddress,interfaceIndex,remoteAddress,remoteControlPort,outgoing,expectedPeer,handoffAttempt; greeting transportVersion/mediaPort/outgoing/attempt.

Authorization and invariants

Every socket binds its Network; outgoing peer key is pinned; hello token matches ride. Binding+scope+address+UDP port disambiguates peers. Native installation acknowledgment is required.

Timers

TLS/greeting 5 s; engine hello 5 s; native setup failure is generation-scoped.

Resource lifetime

Request owns registration; Network owns routing; endpoint groups local address; TLS link owns peer/hop keys. None is a synonym for NDI count.

What the rider sees

Connection stage advances only on actual callbacks/installation; no premature connected state.

Failure branches

Stale callback cannot install/release newer incarnation. Ambiguous UDP source drops. Failure closes exact peer/request, retaining unrelated shared listener owners.

Resulting state

Authenticated hello-complete direct link exists in admission or standby role, with negotiated UDP endpoint.

Evidence boundary

Real IPv6 TLS/UDP loopback and shared-binding tests; JVM installation policy. Physical NDP callback aggregation unqualified.

← All scenarios

Authority: RWCP v2 reviewed scenario catalogue, scenario 03. Public examples are synthetic. This guide is maintained against the private implementation; it does not imply access to its source.