@mark1russell7/machines 0.3.17 → 0.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/build/index.d.ts +36 -0
- package/build/index.js +742 -163
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -34,6 +34,7 @@ The algebra reads these documents. It gives the closed form of each timer, the f
|
|
|
34
34
|
| `NODE_HTTP_SERVER` | `node-http-server` | One connection of the `http.Server` of Node 24.21.0 | server | 8 implemented |
|
|
35
35
|
| `NODE_HTTP_AGENT` | `node-http-agent` | One socket of the `http.Agent` of Node 24.21.0 | driver | 9 implemented |
|
|
36
36
|
| `UNDICI_CLIENT` | `undici-client-h1` | The socket of an HTTP/1.1 `Client` of undici 8.12.2 | driver | 8 implemented |
|
|
37
|
+
| `UNDICI_RETRY` | `undici-retry-agent` | One request through a `RetryAgent` of undici 8.12.2 | driver | 7 implemented, 1 normative |
|
|
37
38
|
| `GO_TRANSPORT` | `go-nethttp-transport` | One connection of the `http.Transport` of Go 1.27.2 | driver | 7 implemented |
|
|
38
39
|
| `PROCEDURES_WS_CLIENT` | `procedures-ws-client` | The WebSocket client of `@procedures/client` 0.3.0 | driver | 9 implemented, 1 documented |
|
|
39
40
|
| `PROCEDURES_WS_SERVER` | `procedures-ws-server` | The WebSocket server of `@procedures/client` 0.3.0 | server | 4 implemented |
|
|
@@ -58,8 +59,9 @@ The algebra reads these documents. It gives the closed form of each timer, the f
|
|
|
58
59
|
| `ENVOY_HTTP2` | `envoy-http2` | Envoy 1.39.4 as an HTTP/2 proxy of gRPC: one connection of a client, its streams, the local replies and the close | proxy | 16 implemented |
|
|
59
60
|
| `TOXIPROXY_LINK` | `toxiproxy-link` | Toxiproxy 2.12.0 with no toxic: one proxied TCP connection and its close | proxy | 9 implemented |
|
|
60
61
|
| `DOCKER_PROXY_LINK` | `docker-proxy-link` | docker-proxy of Docker Engine 29.1.5: one proxied TCP connection and its close | proxy | 9 implemented |
|
|
62
|
+
| `CADDY_HTTP2` | `caddy-http2` | Caddy 2.11.7 as an HTTP/2 proxy of gRPC: one connection of a client, its idle close, its replies and its stop | proxy | 12 implemented |
|
|
61
63
|
|
|
62
|
-
Twenty-
|
|
64
|
+
Twenty-eight documents operate on Linux TCP (`over`). Seven documents operate on no other document: Linux TCP, conntrack, the Sentinel, the replication of mongod, aten, the member of Ra and the `RetryAgent` of undici. The `RetryAgent` is one request above the sockets of a `Client`. Its timer is the delay of a retry. Each retry can go on a new socket. The `conditions` of each document give the range where it holds, for example a range of kernels.
|
|
63
65
|
|
|
64
66
|
The package also gives these parts:
|
|
65
67
|
|
|
@@ -105,6 +107,10 @@ A change to the version of a system changes its sources too. Each fact of the do
|
|
|
105
107
|
|
|
106
108
|
In this repository, a snapshot of the predictions of the cells (`packages/cells/src/__snapshots__/predictions.json`) shows each prediction that a change to a document moves.
|
|
107
109
|
|
|
110
|
+
### 0.3.18
|
|
111
|
+
|
|
112
|
+
- **Caddy 2.11.7 as a proxy of gRPC** (`caddy-http2`), from the source at its tag and of golang.org/x/net v0.59.0. With no stream open for 5 min, Caddy sends GOAWAY NO_ERROR, and it closes the connection 1 s later. A PING of the client does not reset that timer. A failure of the upstream before the headers of a response gives 502, thus UNAVAILABLE. Caddy retries no call at the defaults, and at SIGTERM it waits for each stream.
|
|
113
|
+
|
|
108
114
|
### 0.3.17
|
|
109
115
|
|
|
110
116
|
- **The proxies of T02 for gRPC: Envoy 1.39.4, Toxiproxy 2.12.0 and docker-proxy 29.1.5.** Three new documents, each from the source at its tag:
|
package/build/index.d.ts
CHANGED
|
@@ -95,6 +95,29 @@ export declare const NODE_HTTP_SERVER: Machine;
|
|
|
95
95
|
*/
|
|
96
96
|
export declare const UNDICI_CLIENT: Machine;
|
|
97
97
|
//#endregion
|
|
98
|
+
//#region src/http/undici-retry.d.ts
|
|
99
|
+
/**
|
|
100
|
+
* This document is one request through a `RetryAgent` of undici 8.12.2: the retries of a reply
|
|
101
|
+
* whose status is retryable, for example 429 or 503. Each fact comes from the published package at
|
|
102
|
+
* 8.12.2, with the file and the line. The defaults are 5 retries, a backoff from 500 ms with a factor
|
|
103
|
+
* of 2, a cap of 30 s, and Retry-After read.
|
|
104
|
+
*
|
|
105
|
+
* - The delay of a retry is the Retry-After of the reply, capped by `maxTimeout`. A Retry-After
|
|
106
|
+
* longer than the cap does not stop the retries: the retry comes early. A reply without
|
|
107
|
+
* Retry-After gets the backoff, with no jitter.
|
|
108
|
+
* - The agent gives up after `maxRetries` retries. The caller then gets `RequestRetryError`, with
|
|
109
|
+
* the status of the last reply. Thus the retry window of the caller is the sum of the delays.
|
|
110
|
+
* - A POST and a PATCH are not retried.
|
|
111
|
+
* - The delay is a native Node timer. It arms after the parse of the whole reply, thus it comes after
|
|
112
|
+
* the last segment by the handling time of the program. No source bounds that time, and this
|
|
113
|
+
* document does not hold it. The cells add it from a calibration (`HANDLING` in
|
|
114
|
+
* `packages/cells/src/http/race.ts`).
|
|
115
|
+
*
|
|
116
|
+
* The plain `Client` and `fetch` of undici, and the `fetch` of Node 24.21.0 (undici 7.29.1), send no
|
|
117
|
+
* request again for a status. Their retry window is 0.
|
|
118
|
+
*/
|
|
119
|
+
export declare const UNDICI_RETRY: Machine;
|
|
120
|
+
//#endregion
|
|
98
121
|
//#region src/ioredis-sentinel.d.ts
|
|
99
122
|
/**
|
|
100
123
|
* This document is the Sentinel path of ioredis 6.0.0. It tells how ioredis finds the primary of a
|
|
@@ -373,6 +396,19 @@ export declare const PROCEDURES_WS_CLIENT: Machine;
|
|
|
373
396
|
*/
|
|
374
397
|
export declare const PROCEDURES_WS_SERVER: Machine;
|
|
375
398
|
//#endregion
|
|
399
|
+
//#region src/proxy/caddy.d.ts
|
|
400
|
+
/**
|
|
401
|
+
* This document is Caddy 2.11.7 as an HTTP/2 proxy of gRPC, for one connection of a client. Its
|
|
402
|
+
* configuration is the one of the harness: one server of h1 and h2c, and `reverse_proxy` to one upstream
|
|
403
|
+
* of h2c. Each other option is at its default.
|
|
404
|
+
*
|
|
405
|
+
* With no stream open for 5 min, Caddy sends GOAWAY NO_ERROR, and it closes the connection 1 s later. A
|
|
406
|
+
* PING of the client does not reset that timer. Before the headers of a response, a failure of the
|
|
407
|
+
* upstream gives 502, thus UNAVAILABLE. After them, Caddy resets the stream with INTERNAL_ERROR. Caddy
|
|
408
|
+
* sends no PING. At SIGTERM it sends GOAWAY at once, and it waits for each stream at its defaults.
|
|
409
|
+
*/
|
|
410
|
+
export declare const CADDY_HTTP2: Machine;
|
|
411
|
+
//#endregion
|
|
376
412
|
//#region src/proxy/envoy.d.ts
|
|
377
413
|
/**
|
|
378
414
|
* This document is Envoy 1.39.4 as an HTTP/2 proxy of gRPC, for one connection of a client. Its static
|