Commit 8f47150
Cosmos: add Gateway 2.0 design spec (#4223)
## Summary
Adds a design specification for Gateway 2.0 (formerly known as "thin
client") support in the Rust Cosmos driver and SDK.
## Spec contents
- **Motivation**: Gateway mode with SLA latency guarantees, bridging the
gap between gateway 1.0 (HTTP/JSON, easy ops) and direct mode
(TCP/RNTBD, lower latency)
- **Current Rust state**: Inventory of pre-existing scaffolding
(`TransportMode::Gateway20`, `gateway20_url`,
`AdaptiveTransport::ShardedGateway20`, HTTP/2 prior knowledge config,
`THINCLIENT_PROXY_*` constants)
- **Implementation plan** (6 phases):
1. RNTBD protocol (versionless 24-byte frame + metadata tokens)
2. Request pipeline integration
3. Endpoint discovery from account metadata
4. Retry / error handling (Java-conservative 503, sub-status-aware 410)
5. SDK integration (auto-enabled when thin client endpoints are
advertised — **not** a customer-facing option)
6. Testing, including a new dedicated live tests pipeline using a
pre-provisioned account
- **Open questions**: HTTP/2 prior knowledge vs ALPN
## Notes
- Gateway 2.0 will follow Java semantics (e.g., no stored procedure
support) where Java and .NET diverge.
- This PR contains only the markdown spec; no code changes.
This is a draft for review/feedback before any implementation work
begins.
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>1 parent 3a60752 commit 8f47150
1 file changed
Lines changed: 609 additions & 0 deletions
0 commit comments