# Session 14: Routes ## Summary Inter-server routing — how NATS servers form a full mesh cluster and route messages between nodes. ## Scope | Go File | Features | Feature IDs | Go LOC | |---------|----------|-------------|--------| | server/route.go | 57 | 2895–2951 | 2,988 | | **Total** | **57** | | **2,988** | ## .NET Classes - `RouteHandler` — route connection management - `ClientConnection` (partial — route-specific methods, 25 features from client.go already counted in S08) ## Test Files | Test File | Tests | Test IDs | |-----------|-------|----------| | server/routes_test.go | 70 | 2796–2865 | | **Total** | **70** | | ## Dependencies - Session 01 (Foundation Types) - Session 07 (Protocol Parser) - Session 08 (Client Connection) - Session 09 (Server Core Part 1) ## .NET Target Location - `dotnet/src/ZB.MOM.NatsNet.Server/Routing/` ## Notes - Route connections are `ClientConnection` instances with special handling - Protocol includes route-specific INFO, SUB, UNSUB, MSG operations - Cluster gossip and route solicitation logic lives here