@mark1russell7/machines 0.3.28 → 0.3.30
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 +3 -2
- package/build/index.d.ts +19 -0
- package/build/index.js +557 -205
- package/build/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -37,7 +37,7 @@ The algebra reads these documents. It gives the closed form of each timer, the f
|
|
|
37
37
|
| `UNDICI_RETRY` | `undici-retry-agent` | One request through a `RetryAgent` of undici 8.12.2 | driver | 7 implemented, 1 normative |
|
|
38
38
|
| `GO_TRANSPORT` | `go-nethttp-transport` | One connection of the `http.Transport` of Go 1.27.2 | driver | 7 implemented |
|
|
39
39
|
| `PROCEDURES_WS_CLIENT` | `procedures-ws-client` | The WebSocket client of `@procedures/client` 0.22.0 (client 2408cea) | driver | 9 implemented, 1 documented |
|
|
40
|
-
| `PROCEDURES_WS_SERVER` | `procedures-ws-server` | The WebSocket server of `@procedures/client` 0.22.0 (client 2408cea) | server |
|
|
40
|
+
| `PROCEDURES_WS_SERVER` | `procedures-ws-server` | The WebSocket server of `@procedures/client` 0.22.0 (client 2408cea) | server | 5 implemented |
|
|
41
41
|
| `MONGODB_NODE` | `mongodb-node` | The MongoDB Node driver 7.7.0, for one server of a replica set | driver | 19 implemented |
|
|
42
42
|
| `MONGOD_REPL` | `mongod-replication` | The replication of mongod 9.0.4: one member of a replica set | server | 29 implemented |
|
|
43
43
|
| `MONGOD_SESSION` | `mongod-session` | One client connection of mongod 9.0.4 | server | 6 implemented |
|
|
@@ -62,6 +62,7 @@ The algebra reads these documents. It gives the closed form of each timer, the f
|
|
|
62
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 |
|
|
63
63
|
| `NGINX_GRPC` | `nginx-grpc` | nginx 1.29.6 as an HTTP/2 proxy of gRPC: one connection of a client, its idle close, the read timer of a call, and a stopped worker | proxy | 12 implemented, 1 documented |
|
|
64
64
|
| `TRAEFIK_HTTP2` | `traefik-http2` | Traefik 3.7.15 as an HTTP/2 proxy of gRPC: one connection of a client, its idle close, a reload of its dynamic file and its stop | proxy | 10 implemented, 1 observed |
|
|
65
|
+
| `HAPROXY_TCP` | `haproxy-tcp` | HAProxy 3.2.25 in TCP mode: one proxied connection, the idle timeout of each side and the FIN at each timeout | proxy | 13 implemented |
|
|
65
66
|
| `ISTIO_SIDECAR_OUTBOUND` | `istio-sidecar-outbound` | The client sidecar of Istio 1.31.3: Envoy 1.39.4 between the app and the mesh, its retries, an update of LDS and the SIGKILL | proxy | 31 implemented |
|
|
66
67
|
| `ISTIO_SIDECAR_INBOUND` | `istio-sidecar-inbound` | The server sidecar of Istio 1.31.3: Envoy 1.39.4 between the mesh and the app, the policy, an update of LDS and the SIGKILL | proxy | 31 implemented |
|
|
67
68
|
| `PILOT_AGENT` | `pilot-agent` | pilot-agent of Istio 1.31.3: the drain and the SIGKILL of the Envoy of a sidecar at the stop of its pod | proxy | 12 implemented |
|
|
@@ -280,7 +281,7 @@ In this repository, a snapshot of the predictions of the cells (`packages/cells/
|
|
|
280
281
|
pnpm add @mark1russell7/machines @mark1russell7/algebra zod
|
|
281
282
|
```
|
|
282
283
|
|
|
283
|
-
The package uses `@mark1russell7/algebra` for the type `Machine
|
|
284
|
+
The package uses `@mark1russell7/algebra` for the type `Machine`, and its entry `@mark1russell7/algebra/schema` for the schema `machineSchema`. The algebra does not use this package. This package reads each document with the schema, thus it needs `zod` as a peer dependency. For the algebra, `zod` is an optional peer dependency.
|
|
284
285
|
|
|
285
286
|
## Tests
|
|
286
287
|
|
package/build/index.d.ts
CHANGED
|
@@ -425,6 +425,25 @@ export declare const CADDY_HTTP2: Machine;
|
|
|
425
425
|
*/
|
|
426
426
|
export declare const ENVOY_HTTP2: Machine;
|
|
427
427
|
//#endregion
|
|
428
|
+
//#region src/proxy/haproxy.d.ts
|
|
429
|
+
/**
|
|
430
|
+
* This document is one connection of HAProxy 3.2.25 in TCP mode, with the configuration of T02:
|
|
431
|
+
* `mode tcp`, `timeout client`, `timeout server`, `option clitcpka` and `option srvtcpka`. It sets
|
|
432
|
+
* no `timeout tunnel`, `timeout client-fin`, `timeout server-fin` or `option independent-streams`.
|
|
433
|
+
*
|
|
434
|
+
* - Each side has one inactivity timer: `timeout client` toward the client, and `timeout server`
|
|
435
|
+
* toward the server. It counts from the last read of bytes from that side, or the last send of
|
|
436
|
+
* bytes to that side.
|
|
437
|
+
* - Thus each byte that goes through resets the two timers. Its read resets the timer of its
|
|
438
|
+
* source, and its send resets the timer of its destination. A WebSocket ping and its pong reset both.
|
|
439
|
+
* - A TCP keepalive probe carries no byte. It resets no timer.
|
|
440
|
+
* - `timeout server` sends a FIN to the client at once. `timeout client` sends a FIN to the server
|
|
441
|
+
* first. The client gets its FIN when the server closes its side.
|
|
442
|
+
* - The clock of HAProxy is in whole ms, read at each wake of its loop. Thus a timer can fire one ms
|
|
443
|
+
* and one step of the loop early or late.
|
|
444
|
+
*/
|
|
445
|
+
export declare const HAPROXY_TCP: Machine;
|
|
446
|
+
//#endregion
|
|
428
447
|
//#region src/proxy/istio.d.ts
|
|
429
448
|
/** A side of a sidecar is the listener of the connection: outbound from the app, or inbound to the app. */
|
|
430
449
|
type SidecarSide = "outbound" | "inbound";
|