Skip to content

Commit 8f47150

Browse files
tvaron3CopilotCopilot
authored
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

File tree

0 commit comments

Comments
 (0)