Skip to content

Commit f28bb88

Browse files
committed
reformat docs
1 parent 8826add commit f28bb88

21 files changed

Lines changed: 417 additions & 402 deletions

ARCHITECTURE.md

Lines changed: 81 additions & 81 deletions
Large diffs are not rendered by default.

CLAUDE.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ Key vault guides: `Architecture/Guides/10-TEST_CONVENTIONS`, `11-STAGE_PORT_NAMI
7777
## Test Conventions (Quick Reference)
7878

7979
New tests use **component-based folders** (`Http10/`, `Http11/`, `Http2/`, etc.) not RFC folders. Key rules:
80+
8081
- `Spec` suffix, `sealed` class, BDD method names: `Subject_should_behavior()`
8182
- `[Trait("RFC", "RFC9113-4.1")]` for traceability, `[Fact(Timeout = 5000)]` required
8283
- `[Fact(DisplayName = ...)]` is deprecated — method name IS the documentation
@@ -92,8 +93,8 @@ Full details: `notes/Architecture/Guides/11-STAGE_PORT_NAMING`
9293

9394
## Custom Agents (`.claude/agents/`)
9495

95-
| Agent | When to use |
96-
|-------|-------------|
96+
| Agent | When to use |
97+
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
9798
| `spec-refactorer` | Refactor test specs: remove non-Protocol RFC traits, validate RFC section refs against Obsidian vault, strip `///` comments outside methods |
9899

99100
## Agent Guidance: dotnet-skills
@@ -112,12 +113,14 @@ Use for multi-step reasoning where the full scope isn't clear upfront. The tool
112113
step-by-step with the ability to revise, branch, and extend as understanding deepens.
113114

114115
**When to use:**
116+
115117
- Complex debugging where the root cause isn't obvious
116118
- Architecture/design decisions with multiple trade-offs
117119
- RFC compliance analysis requiring cross-referencing multiple sections
118120
- Any problem where early assumptions may need revision
119121

120122
**How it works:** Call the tool repeatedly, once per thought step. Each call takes:
123+
121124
- `thought` — your current reasoning step (analysis, revision, hypothesis, verification)
122125
- `thoughtNumber` / `totalThoughts` — track position; adjust `totalThoughts` up/down as needed
123126
- `nextThoughtNeeded``true` to continue, `false` when done

docs/api/index.md

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -187,78 +187,78 @@ public sealed class TurboClientOptions
187187

188188
### Connection options
189189

190-
| Property | Default | Description |
191-
|---|---|---|
192-
| `BaseAddress` | `null` | Base URI for relative requests |
193-
| `ConnectTimeout` | `15 s` | TCP/QUIC connection timeout |
194-
| `PooledConnectionIdleTimeout` | `90 s` | How long idle connections are kept in the pool |
195-
| `PooledConnectionLifetime` | `infinite` | Maximum lifetime of a pooled connection |
196-
| `MaxEndpointSubstreams` | `256` | Max concurrently active endpoint substreams |
190+
| Property | Default | Description |
191+
| ----------------------------- | ---------- | ---------------------------------------------- |
192+
| `BaseAddress` | `null` | Base URI for relative requests |
193+
| `ConnectTimeout` | `15 s` | TCP/QUIC connection timeout |
194+
| `PooledConnectionIdleTimeout` | `90 s` | How long idle connections are kept in the pool |
195+
| `PooledConnectionLifetime` | `infinite` | Maximum lifetime of a pooled connection |
196+
| `MaxEndpointSubstreams` | `256` | Max concurrently active endpoint substreams |
197197

198198
Per-version connection limits are configured on the nested options objects:
199199

200-
| Property | Default | Description |
201-
|---|---|---|
202-
| `Http1.MaxConnectionsPerServer` | `6` | Max concurrent HTTP/1.x connections per host |
203-
| `Http1.MaxPipelineDepth` | `16` | Max pipelined requests per HTTP/1.1 connection |
204-
| `Http2.MaxConnectionsPerServer` | `6` | Max concurrent HTTP/2 connections per host |
205-
| `Http2.MaxConcurrentStreams` | `100` | Max concurrent streams per HTTP/2 connection |
206-
| `Http3.MaxConnectionsPerServer` | `4` | Max concurrent QUIC connections per host |
200+
| Property | Default | Description |
201+
| ------------------------------- | ------- | ---------------------------------------------- |
202+
| `Http1.MaxConnectionsPerServer` | `6` | Max concurrent HTTP/1.x connections per host |
203+
| `Http1.MaxPipelineDepth` | `16` | Max pipelined requests per HTTP/1.1 connection |
204+
| `Http2.MaxConnectionsPerServer` | `6` | Max concurrent HTTP/2 connections per host |
205+
| `Http2.MaxConcurrentStreams` | `100` | Max concurrent streams per HTTP/2 connection |
206+
| `Http3.MaxConnectionsPerServer` | `4` | Max concurrent QUIC connections per host |
207207

208208
See [Connection Pooling guide](/guide/connection-pooling) for pool lifecycle details.
209209

210210
### HTTP/1.x options
211211

212-
| Property | Default | Description |
213-
|---|---|---|
214-
| `Http1.MaxConnectionsPerServer` | `6` | Max concurrent TCP connections per host |
215-
| `Http1.MaxPipelineDepth` | `16` | Max pipelined requests per connection |
216-
| `Http1.MaxBatchWeight` | `65536` (64 KiB) | Max batch weight for request encoding |
217-
| `Http1.MaxResponseHeadersLength` | `64` (KB) | Max response header size |
218-
| `Http1.MaxReconnectAttempts` | `3` | Max reconnect attempts on connection drop |
219-
| `Http1.MaxResponseDrainSize` | `1048576` (1 MB) | Max bytes to drain from incomplete response |
220-
| `Http1.ResponseDrainTimeout` | `2 s` | Timeout for draining incomplete response body |
212+
| Property | Default | Description |
213+
| -------------------------------- | ---------------- | --------------------------------------------- |
214+
| `Http1.MaxConnectionsPerServer` | `6` | Max concurrent TCP connections per host |
215+
| `Http1.MaxPipelineDepth` | `16` | Max pipelined requests per connection |
216+
| `Http1.MaxBatchWeight` | `65536` (64 KiB) | Max batch weight for request encoding |
217+
| `Http1.MaxResponseHeadersLength` | `64` (KB) | Max response header size |
218+
| `Http1.MaxReconnectAttempts` | `3` | Max reconnect attempts on connection drop |
219+
| `Http1.MaxResponseDrainSize` | `1048576` (1 MB) | Max bytes to drain from incomplete response |
220+
| `Http1.ResponseDrainTimeout` | `2 s` | Timeout for draining incomplete response body |
221221

222222
### HTTP/2 options
223223

224-
| Property | Default | Description |
225-
|---|---|---|
226-
| `Http2.MaxConnectionsPerServer` | `6` | Max concurrent TCP connections per host |
227-
| `Http2.MaxConcurrentStreams` | `100` | Max concurrent streams per connection |
228-
| `Http2.InitialConnectionWindowSize` | `67108864` (64 MB) | Connection-level flow control window |
229-
| `Http2.InitialStreamWindowSize` | `65535` | Per-stream flow control window |
230-
| `Http2.MaxFrameSize` | `16384` (16 KiB) | Max frame payload size |
231-
| `Http2.HeaderTableSize` | `4096` | HPACK dynamic table size |
232-
| `Http2.MaxBatchWeight` | `262144` (256 KiB) | Max batch weight for frame encoding |
233-
| `Http2.MaxReconnectAttempts` | `3` | Max reconnect attempts on connection drop |
234-
| `Http2.KeepAlivePingDelay` | `infinite` | Delay before sending keep-alive PING |
235-
| `Http2.KeepAlivePingTimeout` | `20 s` | Timeout for PING acknowledgment |
236-
| `Http2.KeepAlivePingPolicy` | `Always` | When to send keep-alive PINGs |
224+
| Property | Default | Description |
225+
| ----------------------------------- | ------------------ | ----------------------------------------- |
226+
| `Http2.MaxConnectionsPerServer` | `6` | Max concurrent TCP connections per host |
227+
| `Http2.MaxConcurrentStreams` | `100` | Max concurrent streams per connection |
228+
| `Http2.InitialConnectionWindowSize` | `67108864` (64 MB) | Connection-level flow control window |
229+
| `Http2.InitialStreamWindowSize` | `65535` | Per-stream flow control window |
230+
| `Http2.MaxFrameSize` | `16384` (16 KiB) | Max frame payload size |
231+
| `Http2.HeaderTableSize` | `4096` | HPACK dynamic table size |
232+
| `Http2.MaxBatchWeight` | `262144` (256 KiB) | Max batch weight for frame encoding |
233+
| `Http2.MaxReconnectAttempts` | `3` | Max reconnect attempts on connection drop |
234+
| `Http2.KeepAlivePingDelay` | `infinite` | Delay before sending keep-alive PING |
235+
| `Http2.KeepAlivePingTimeout` | `20 s` | Timeout for PING acknowledgment |
236+
| `Http2.KeepAlivePingPolicy` | `Always` | When to send keep-alive PINGs |
237237

238238
### HTTP/3 options
239239

240-
| Property | Default | Description |
241-
|---|---|---|
242-
| `Http3.MaxConnectionsPerServer` | `4` | Max concurrent QUIC connections per host |
243-
| `Http3.QpackMaxTableCapacity` | `4096` | QPACK dynamic table size |
244-
| `Http3.QpackBlockedStreams` | `100` | Max streams blocked waiting for QPACK |
245-
| `Http3.MaxFieldSectionSize` | `65536` (64 KiB) | Max header block size |
246-
| `Http3.IdleTimeout` | `30 s` | QUIC idle timeout |
247-
| `Http3.MaxReconnectAttempts` | `3` | Max reconnect attempts on connection drop |
248-
| `Http3.AllowEarlyData` | `false` | Allow QUIC 0-RTT early data |
249-
| `Http3.AllowConnectionMigration` | `true` | Allow QUIC connection migration |
250-
| `Http3.AllowServerPush` | `false` | Allow server push via PUSH_PROMISE |
251-
| `Http3.MaxBatchWeight` | `262144` (256 KiB) | Max batch weight for frame encoding |
252-
| `Http3.EnableAltSvcDiscovery` | `false` | Auto-discover HTTP/3 via Alt-Svc headers |
240+
| Property | Default | Description |
241+
| -------------------------------- | ------------------ | ----------------------------------------- |
242+
| `Http3.MaxConnectionsPerServer` | `4` | Max concurrent QUIC connections per host |
243+
| `Http3.QpackMaxTableCapacity` | `4096` | QPACK dynamic table size |
244+
| `Http3.QpackBlockedStreams` | `100` | Max streams blocked waiting for QPACK |
245+
| `Http3.MaxFieldSectionSize` | `65536` (64 KiB) | Max header block size |
246+
| `Http3.IdleTimeout` | `30 s` | QUIC idle timeout |
247+
| `Http3.MaxReconnectAttempts` | `3` | Max reconnect attempts on connection drop |
248+
| `Http3.AllowEarlyData` | `false` | Allow QUIC 0-RTT early data |
249+
| `Http3.AllowConnectionMigration` | `true` | Allow QUIC connection migration |
250+
| `Http3.AllowServerPush` | `false` | Allow server push via PUSH_PROMISE |
251+
| `Http3.MaxBatchWeight` | `262144` (256 KiB) | Max batch weight for frame encoding |
252+
| `Http3.EnableAltSvcDiscovery` | `false` | Auto-discover HTTP/3 via Alt-Svc headers |
253253

254254
### TLS options
255255

256-
| Property | Default | Description |
257-
|---|---|---|
258-
| `DangerousAcceptAnyServerCertificate` | `false` | Skip all certificate validation — dev/test only |
259-
| `ServerCertificateValidationCallback` | Accept valid certs | Custom TLS certificate validation |
260-
| `ClientCertificates` | `null` | Client certificates for mutual TLS |
261-
| `EnabledSslProtocols` | `SslProtocols.None` (OS default) | TLS protocol versions to permit |
256+
| Property | Default | Description |
257+
| ------------------------------------- | -------------------------------- | ----------------------------------------------- |
258+
| `DangerousAcceptAnyServerCertificate` | `false` | Skip all certificate validation — dev/test only |
259+
| `ServerCertificateValidationCallback` | Accept valid certs | Custom TLS certificate validation |
260+
| `ClientCertificates` | `null` | Client certificates for mutual TLS |
261+
| `EnabledSslProtocols` | `SslProtocols.None` (OS default) | TLS protocol versions to permit |
262262

263263
```csharp
264264
// Mutual TLS with a client certificate
@@ -389,12 +389,12 @@ See [Content Encoding guide](/guide/content-encoding) for request compression an
389389

390390
These types are part of the public API and can be customized via the builder extensions:
391391

392-
| Type | Purpose | Guide |
393-
|---|---|---|
394-
| `CookieJar` | Cookie storage and injection — provided via `.WithCookies()` | [Cookies](/guide/cookies) |
395-
| `CacheStore` | In-memory LRU cache backend — provided via `.WithCache(store)` | [Caching](/guide/caching) |
396-
| `RedirectHandler` | Built-in HTTP redirect handling — controlled via `.WithRedirect()` | [Redirects](/guide/redirects) |
397-
| `RetryEvaluator` | Built-in idempotent method retry — controlled via `.WithRetry()` | [Retries](/guide/retries) |
398-
| `TurboHandler` | Custom request/response middleware — registered via `.AddHandler<T>()` | [Extending the Pipeline](/architecture/extending) |
392+
| Type | Purpose | Guide |
393+
| ----------------- | ---------------------------------------------------------------------- | ------------------------------------------------- |
394+
| `CookieJar` | Cookie storage and injection — provided via `.WithCookies()` | [Cookies](/guide/cookies) |
395+
| `CacheStore` | In-memory LRU cache backend — provided via `.WithCache(store)` | [Caching](/guide/caching) |
396+
| `RedirectHandler` | Built-in HTTP redirect handling — controlled via `.WithRedirect()` | [Redirects](/guide/redirects) |
397+
| `RetryEvaluator` | Built-in idempotent method retry — controlled via `.WithRetry()` | [Retries](/guide/retries) |
398+
| `TurboHandler` | Custom request/response middleware — registered via `.AddHandler<T>()` | [Extending the Pipeline](/architecture/extending) |
399399

400400
See the [Configuration guide](/guide/configuration) and [Extending the Pipeline](/architecture/extending) for integration patterns.

0 commit comments

Comments
 (0)