# 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
