System composition and topology

two Apis, two Plays as manual RouteMesh peers · each Play's tictactoe.api picks one Api

System composition and topology two Apis, two Plays as manual RouteMesh peers · each Play's tictactoe.api picks one Api Host Client · Architecture component Host Client Api A · Servers Api A tictactoe.api · Play A · Servers tictactoe.api Play A Play A · Servers Play A Play B · Servers Play B tictactoe.api · Play B · Servers tictactoe.api Play B Api B · Servers Api B Guest Client · Architecture component Guest Client Observer Client · Architecture component Observer Client HTTP STREAM Servers

Client and server edges

  • • Clients (mermaid subgraph): Host, Guest, Observer. Host connects HTTP to Api A and STREAM to Play A; guest and observer connect HTTP to Api B and STREAM to Play B.
  • • Api A/B are object clients; Play A/B are object servers providing the same object type, Entry Spot, and Logical Multicast membership.
  • • All four Api↔Play solid links are the same tictactoe RouteMesh; Play A — Play B is the manual RouteMesh peer.

tictactoe.api channel (dashed) and location

  • • Each Play has an independent tictactoe.api ClientServer channel that receives the Api A and Api B endpoints and selects one Api for an authentication request.
  • • No object peer is created between Api A and Api B; the Play↔Api peer direction is set by the runner's manual endpoint configuration.
  • • The Location Store (in the §3 resource table) records the current owner of RoomId and ActorId; the Relocation Store holds only post-relocation pending-request recovery. CreateGameHttpRes.PlayEndpoints is for ingress selection, not owner evidence.