@mark1russell7/machines 0.3.31 → 0.3.33

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 CHANGED
@@ -38,6 +38,8 @@ The algebra reads these documents. It gives the closed form of each timer, the f
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
40
  | `PROCEDURES_WS_SERVER` | `procedures-ws-server` | The WebSocket server of `@procedures/client` 0.22.0 (client 2408cea) | server | 5 implemented |
41
+ | `SOCKETIO_CLIENT` | `socketio-client` | The connection of the `Manager` of socket.io-client 4.8.4, on engine.io-client 6.6.7 and ws 8.21.3 | driver | 8 implemented |
42
+ | `SOCKETIO_SERVER` | `socketio-server` | One connection of the `Server` of socket.io 4.8.4, on engine.io 6.6.11 and ws 8.21.3 | server | 6 implemented |
41
43
  | `MONGODB_NODE` | `mongodb-node` | The MongoDB Node driver 7.7.0, for one server of a replica set | driver | 19 implemented |
42
44
  | `MONGOD_REPL` | `mongod-replication` | The replication of mongod 9.0.4: one member of a replica set | server | 29 implemented |
43
45
  | `MONGOD_SESSION` | `mongod-session` | One client connection of mongod 9.0.4 | server | 6 implemented |
@@ -53,6 +55,8 @@ The algebra reads these documents. It gives the closed form of each timer, the f
53
55
  | `RABBITMQ_CONNECTION` | `rabbitmq-connection` | RabbitMQ 4.3.6: one connection of AMQP 0-9-1 on the broker | server | 14 implemented, 1 documented |
54
56
  | `ATEN_DETECTOR` | `aten` | aten 0.6.0: one node that the failure detector of another node of RabbitMQ watches | server | 7 implemented |
55
57
  | `RA_MEMBER` | `ra-member` | ra 3.1.10: one member of the Raft cluster of a quorum queue of RabbitMQ 4.3.6 | server | 25 implemented |
58
+ | `KAFKA_PARTITION` | `kafka-partition` | Apache Kafka 4.3.2: one broker that leads one partition, its answers at each acks, its high watermark and the loss of its leadership | server | 24 implemented |
59
+ | `KAFKA_CONSUMER_GROUP` | `kafka-consumer-group` | Apache Kafka 4.3.2: one member of a consumer group under a process stop, its fence, the takeover of its partition and its commit after the stop | server | 14 implemented |
56
60
  | `GRPC_JS` | `grpc-js` | grpc-js 1.14.6: one channel to a gRPC server, its HTTP/2 transport, its keepalive and a unary call | driver | 27 implemented, 1 observed |
57
61
  | `GRPC_GO_SERVER` | `grpc-go-server` | A server of grpc-go v1.84.0: one HTTP/2 connection, its keepalive, its policy for PINGs and its TCP socket | server | 13 implemented, 1 documented |
58
62
  | `ETCD_SERVER` | `etcd-server` | The server of etcd v3.6.15 on grpc-go v1.83.2: one gRPC connection of a client | server | 19 implemented, 1 documented |
package/build/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { Expr, Machine } from "@mark1russell7/algebra";
2
- //#region src/call.d.ts
3
2
  /**
4
3
  * This document is one call of a program on a socket of Linux TCP: a deadline for each try, and a
5
4
  * retry after each deadline. It is a generic client that the program configures, as the
@@ -15,8 +14,6 @@ import { Expr, Machine } from "@mark1russell7/algebra";
15
14
  * - The count of retries is the count of firings of `retry`. The caller gives it.
16
15
  */
17
16
  export declare const DEADLINE_CALL: Machine;
18
- //#endregion
19
- //#region src/grpc/grpc-go-server.d.ts
20
17
  /**
21
18
  * This document is a server of grpc-go v1.84.0 on its own listener: grpc.NewServer on net.Listen, at the
22
19
  * defaults, as in the server of the harness. Its keepalive is on (a PING after 2 h with no read). Thus the
@@ -34,8 +31,6 @@ export declare const GRPC_GO_SERVER: Machine;
34
31
  * count of Go stay. Thus an idle connection to a gone client ends 165 s after the last data: 30 + 9 × 15.
35
32
  */
36
33
  export declare const ETCD_SERVER: Machine;
37
- //#endregion
38
- //#region src/grpc/grpc-js.d.ts
39
34
  /**
40
35
  * This document is grpc-js 1.14.6 on Node, for one channel to one server with no TLS, its transport
41
36
  * (one HTTP/2 session on one TCP connection) and one unary call on it. It gives the states of the
@@ -51,8 +46,6 @@ export declare const ETCD_SERVER: Machine;
51
46
  * that finds the channel in TRANSIENT_FAILURE fails at once, unless it asks to wait for the channel.
52
47
  */
53
48
  export declare const GRPC_JS: Machine;
54
- //#endregion
55
- //#region src/http/go-transport.d.ts
56
49
  /**
57
50
  * This document is one connection of the `http.Transport` of Go 1.27.2 at its defaults, over its
58
51
  * Linux TCP socket. Each fact comes from the source at the tag `go1.27.2`. The comments give the
@@ -64,8 +57,6 @@ export declare const GRPC_JS: Machine;
64
57
  * request that it can replay again, on a new connection, by itself.
65
58
  */
66
59
  export declare const GO_TRANSPORT: Machine;
67
- //#endregion
68
- //#region src/http/node-agent.d.ts
69
60
  /**
70
61
  * This document is one socket of the `http.Agent` of Node v24.21.0, as its global agent sets it.
71
62
  * Its keep-alive is on, its free socket timeout is 5 s, and it is LIFO. It is over the Linux TCP socket. Each fact
@@ -81,8 +72,6 @@ export declare const GO_TRANSPORT: Machine;
81
72
  * adds it from a calibration (`HANDLING` in `packages/cells/src/http/race.ts`).
82
73
  */
83
74
  export declare const NODE_HTTP_AGENT: Machine;
84
- //#endregion
85
- //#region src/http/node-server.d.ts
86
75
  /**
87
76
  * This document is one connection as the `http.Server` of Node v24.21.0 holds it, over the Linux
88
77
  * TCP socket of the connection. Each fact comes from the source at the tag `v24.21.0`. The comments
@@ -94,8 +83,6 @@ export declare const NODE_HTTP_AGENT: Machine;
94
83
  * a reset when the receive queue has data that nothing read.
95
84
  */
96
85
  export declare const NODE_HTTP_SERVER: Machine;
97
- //#endregion
98
- //#region src/http/undici.d.ts
99
86
  /**
100
87
  * This document is the socket of an HTTP/1.1 `Client` of undici 8.12.2, over its Linux TCP socket.
101
88
  * Each fact comes from the published package at 8.12.2, with the file and the line.
@@ -111,8 +98,6 @@ export declare const NODE_HTTP_SERVER: Machine;
111
98
  * it from a calibration (`HANDLING` in `packages/cells/src/http/race.ts`).
112
99
  */
113
100
  export declare const UNDICI_CLIENT: Machine;
114
- //#endregion
115
- //#region src/http/undici-retry.d.ts
116
101
  /**
117
102
  * This document is one request through a `RetryAgent` of undici 8.12.2: the retries of a reply
118
103
  * whose status is retryable, for example 429 or 503. Each fact comes from the published package at
@@ -134,8 +119,6 @@ export declare const UNDICI_CLIENT: Machine;
134
119
  * request again for a status. Their retry window is 0.
135
120
  */
136
121
  export declare const UNDICI_RETRY: Machine;
137
- //#endregion
138
- //#region src/ioredis-sentinel.d.ts
139
122
  /**
140
123
  * This document is the Sentinel path of ioredis 6.0.0. It tells how ioredis finds the primary of a
141
124
  * group through the Sentinels, loses it, and connects to the new one. The standalone states of
@@ -144,8 +127,6 @@ export declare const UNDICI_RETRY: Machine;
144
127
  * subscribes to `+switch-master`, is off by default.
145
128
  */
146
129
  export declare const IOREDIS_SENTINEL: Machine;
147
- //#endregion
148
- //#region src/json.d.ts
149
130
  /** This document is TCP as Linux 6.6 implements it: one full socket, from the source of the kernel and the RFCs. */
150
131
  export declare const LINUX_TCP: Machine;
151
132
  /** This document is the TCP state machine of conntrack on Linux 6.6.87.2: the state of a router or a NAT for one flow. */
@@ -160,8 +141,6 @@ export declare const IOREDIS_STATUS: Machine;
160
141
  * process continues to send ACKs, thus `rx.ack` arrives.
161
142
  */
162
143
  export declare const MANIFESTATIONS: Readonly<Record<string, readonly string[]>>;
163
- //#endregion
164
- //#region src/k8s/kubelet-readiness.d.ts
165
144
  /**
166
145
  * This document is the readiness probe of the kubelet of Kubernetes 1.37.0 for one container. Each
167
146
  * fact comes from the source at the tag v1.37.0, with the file and the line. The defaults are a
@@ -182,8 +161,41 @@ export declare const MANIFESTATIONS: Readonly<Record<string, readonly string[]>>
182
161
  * random part of a period before its first probe.
183
162
  */
184
163
  export declare const KUBELET_READINESS: Machine;
185
- //#endregion
186
- //#region src/mongo/mongod-replication.d.ts
164
+ /**
165
+ * This document is Apache Kafka 4.3.2, for one member of a consumer group that a process stop holds.
166
+ * It gives when the coordinator removes the member, and when another member gets its partition. It
167
+ * also gives the answer to a commit of the old offsets after the stop.
168
+ *
169
+ * In the consumer protocol the session is a setting of the broker. Each heartbeat starts the session
170
+ * timer again. The last heartbeat came up to one interval before the stop, thus the fence comes one
171
+ * session after the stop, less up to one interval. The other member takes the partition at one of its
172
+ * own heartbeats after the fence.
173
+ *
174
+ * A commit of the member after the fence gets UNKNOWN_MEMBER_ID, and the client throws
175
+ * CommitFailedException. The rejoin changes this. A member that polls after the fence joins again at
176
+ * epoch 0 and gets a new epoch. The commit check at the same epoch asks no question about who owns the
177
+ * partition. Thus the broker accepts a commit of the old offsets at the new epoch. That commit moves
178
+ * the committed offset back while another member owns the partition.
179
+ */
180
+ export declare const KAFKA_CONSUMER_GROUP: Machine;
181
+ /**
182
+ * This document is Apache Kafka 4.3.2, for one broker that leads one partition, in KRaft mode. It
183
+ * gives what the broker answers at each `acks`, and how the high watermark moves. It also gives how
184
+ * the broker loses the leadership when a fault cuts it from the other brokers and the controller.
185
+ *
186
+ * With `acks=1` a broker answers after its own append. With `acks=all` the write waits in a purgatory
187
+ * until the high watermark passes it. The high watermark is the smallest log end of the maximal
188
+ * in-sync replicas. A leader that cannot reach the controller cannot shrink that set, thus its high
189
+ * watermark stays.
190
+ *
191
+ * The controller fences a broker when no heartbeat came for `broker.session.timeout.ms`, and it
192
+ * elects another leader. The cut broker is not told, and it has no timer that stops it. It stays a
193
+ * leader in its own view until the metadata of the change reaches it, after the cut lifts. It then
194
+ * becomes a follower, and it ends each write in the purgatory with NOT_LEADER_OR_FOLLOWER. It fetches
195
+ * from the new leader, which answers with the end of its log at its election. The old leader
196
+ * truncates to that offset, not to the high watermark.
197
+ */
198
+ export declare const KAFKA_PARTITION: Machine;
187
199
  /**
188
200
  * This document is the replication of mongod 9.0.4. It gives one member of a replica set, its view
189
201
  * of the primary, and the election that it can hold. The states are the states of the member. The
@@ -202,8 +214,6 @@ export declare const KUBELET_READINESS: Machine;
202
214
  * position of that secondary only from the response to each heartbeat.
203
215
  */
204
216
  export declare const MONGOD_REPL: Machine;
205
- //#endregion
206
- //#region src/mongo/mongod-session.d.ts
207
217
  /**
208
218
  * This document is the hold of mongod 9.0.4 on one client connection, over its socket. `mongod`
209
219
  * turns keepalive on for each TCP session. It lowers two keepalive options of the socket to a
@@ -218,8 +228,6 @@ export declare const MONGOD_REPL: Machine;
218
228
  * Then `mongod` sends the reply, and it starts the next hello of the stream at once.
219
229
  */
220
230
  export declare const MONGOD_SESSION: Machine;
221
- //#endregion
222
- //#region src/mongo/mongodb-node.d.ts
223
231
  /**
224
232
  * This document is the MongoDB Node driver 7.7.0, for one server of a replica set. It gives one
225
233
  * connection of the driver by its role, and the timers that act on it. The roles are the monitor
@@ -233,8 +241,6 @@ export declare const MONGOD_SESSION: Machine;
233
241
  * `serverSelectionTimeoutMS`.
234
242
  */
235
243
  export declare const MONGODB_NODE: Machine;
236
- //#endregion
237
- //#region src/pg/hikaricp-pgjdbc.d.ts
238
244
  /**
239
245
  * This document is HikariCP 7.1.0 over pgjdbc 42.7.13, for one connection of a pool. It gives the
240
246
  * states of the connection, from its creation to its close, and the timers that act on it. The
@@ -262,8 +268,6 @@ export declare const MONGODB_NODE: Machine;
262
268
  * connection. HikariCP does not send a statement again.
263
269
  */
264
270
  export declare const HIKARICP_PGJDBC: Machine;
265
- //#endregion
266
- //#region src/pg/node-postgres.d.ts
267
271
  /**
268
272
  * This document is node-postgres 8.23.1 (the npm package pg) with pg-pool 3.14.0, for one client
269
273
  * of a `pg.Pool`. It gives the states of the client, from its connect to its end, and the timers
@@ -285,8 +289,6 @@ export declare const HIKARICP_PGJDBC: Machine;
285
289
  * throws.
286
290
  */
287
291
  export declare const NODE_POSTGRES: Machine;
288
- //#endregion
289
- //#region src/pg/pgbouncer.d.ts
290
292
  /**
291
293
  * This document is PgBouncer 1.26.1 in transaction pooling, for one client connection. It gives the
292
294
  * states of the client, from its accept to its close, and the timers that act on it.
@@ -302,8 +304,6 @@ export declare const NODE_POSTGRES: Machine;
302
304
  * fires, and the failure of the linked server, close the client with a FATAL error of SQLSTATE 08P01.
303
305
  */
304
306
  export declare const PGBOUNCER_CLIENT: Machine;
305
- //#endregion
306
- //#region src/pg/pgbouncer-server.d.ts
307
307
  /**
308
308
  * This document is PgBouncer 1.26.1 in transaction pooling, for one server connection of a pool:
309
309
  * from its launch to its close. It also gives the wait of the pool before its next connection after
@@ -322,8 +322,6 @@ export declare const PGBOUNCER_CLIENT: Machine;
322
322
  * each client that needs a server fails at once, and a waiting client stays in the queue.
323
323
  */
324
324
  export declare const PGBOUNCER_SERVER: Machine;
325
- //#endregion
326
- //#region src/pg/pgpool.d.ts
327
325
  /**
328
326
  * This document is Pgpool-II 4.7.3 with one backend, for one session of a client. It gives the states
329
327
  * of the session in its child process, from the accept of the client to its close. It also gives the
@@ -343,8 +341,6 @@ export declare const PGBOUNCER_SERVER: Machine;
343
341
  * (failover_on_backend_error).
344
342
  */
345
343
  export declare const PGPOOL_SESSION: Machine;
346
- //#endregion
347
- //#region src/pg/postgres-session.d.ts
348
344
  /**
349
345
  * This document is the hold of a PostgreSQL 17.11 backend on one client connection, over its TCP
350
346
  * socket on Linux. The backend turns on SO_KEEPALIVE for each TCP socket. At the defaults of its
@@ -366,8 +362,6 @@ export declare const PGPOOL_SESSION: Machine;
366
362
  * `idle_session_timeout` and `client_connection_check_interval`.
367
363
  */
368
364
  export declare const POSTGRES_SESSION: Machine;
369
- //#endregion
370
- //#region src/pg/supavisor-client.d.ts
371
365
  /**
372
366
  * This document is Supavisor 2.9.13 in transaction mode, for one client connection. It gives the
373
367
  * states of the client handler (a gen_statem) from the accept to the close, and the timers that act
@@ -388,8 +382,6 @@ export declare const POSTGRES_SESSION: Machine;
388
382
  * behind the data that the kernel did not send.
389
383
  */
390
384
  export declare const SUPAVISOR_CLIENT: Machine;
391
- //#endregion
392
- //#region src/pg/supavisor-server.d.ts
393
385
  /**
394
386
  * This document is Supavisor 2.9.13 in transaction mode, for one server connection of the pool of a
395
387
  * tenant. It is one DbHandler, a gen_statem, from its start by the pool to its end.
@@ -404,8 +396,6 @@ export declare const SUPAVISOR_CLIENT: Machine;
404
396
  * TCP_NODELAY and no keepalive, and no timer of Supavisor bounds a query.
405
397
  */
406
398
  export declare const SUPAVISOR_SERVER: Machine;
407
- //#endregion
408
- //#region src/procedures-ws.d.ts
409
399
  /**
410
400
  * This document is the connection of the WebSocket client of `@procedures/client` 0.22.0 at
411
401
  * commit 2408cea (`WebSocketTransport`), over its socket class and its Linux TCP socket. The
@@ -436,8 +426,6 @@ export declare const PROCEDURES_WS_CLIENT: Machine;
436
426
  * adds. Its `http.Server` sets no SO_KEEPALIVE when `keepAlive` is off, the default of Node.
437
427
  */
438
428
  export declare const PROCEDURES_WS_SERVER: Machine;
439
- //#endregion
440
- //#region src/proxy/caddy.d.ts
441
429
  /**
442
430
  * This document is Caddy 2.11.7 as an HTTP/2 proxy of gRPC, for one connection of a client. Its
443
431
  * configuration is the one of the harness: one server of h1 and h2c, and `reverse_proxy` to one upstream
@@ -449,8 +437,6 @@ export declare const PROCEDURES_WS_SERVER: Machine;
449
437
  * sends no PING. At SIGTERM it sends GOAWAY at once, and it waits for each stream at its defaults.
450
438
  */
451
439
  export declare const CADDY_HTTP2: Machine;
452
- //#endregion
453
- //#region src/proxy/envoy.d.ts
454
440
  /**
455
441
  * This document is Envoy 1.39.4 as an HTTP/2 proxy of gRPC, for one connection of a client. Its static
456
442
  * configuration is the one of the harness. It has one listener with the HTTP connection manager, one
@@ -463,8 +449,6 @@ export declare const CADDY_HTTP2: Machine;
463
449
  * SIGTERM it closes each connection with no GOAWAY.
464
450
  */
465
451
  export declare const ENVOY_HTTP2: Machine;
466
- //#endregion
467
- //#region src/proxy/haproxy.d.ts
468
452
  /**
469
453
  * This document is one connection of HAProxy 3.2.25 in TCP mode, with the configuration of T02:
470
454
  * `mode tcp`, `timeout client`, `timeout server`, `option clitcpka` and `option srvtcpka`. It sets
@@ -482,8 +466,6 @@ export declare const ENVOY_HTTP2: Machine;
482
466
  * and one step of the loop early or late.
483
467
  */
484
468
  export declare const HAPROXY_TCP: Machine;
485
- //#endregion
486
- //#region src/proxy/istio.d.ts
487
469
  /** A side of a sidecar is the listener of the connection: outbound from the app, or inbound to the app. */
488
470
  type SidecarSide = "outbound" | "inbound";
489
471
  /**
@@ -509,8 +491,6 @@ export declare const ISTIO_SIDECAR_INBOUND: Machine;
509
491
  * minimum drain, then polls the active connections each 1 s.
510
492
  */
511
493
  export declare const PILOT_AGENT: Machine;
512
- //#endregion
513
- //#region src/proxy/nginx.d.ts
514
494
  /**
515
495
  * This document is nginx 1.29.6 as an HTTP/2 proxy of gRPC, for one connection of a client. Its
516
496
  * configuration is the one of the harness: one worker (the default), one server of h2c, and `grpc_pass`
@@ -532,8 +512,6 @@ export declare const PILOT_AGENT: Machine;
532
512
  * no GOAWAY.
533
513
  */
534
514
  export declare const NGINX_GRPC: Machine;
535
- //#endregion
536
- //#region src/proxy/traefik.d.ts
537
515
  /**
538
516
  * This document is Traefik 3.7.15 as an HTTP/2 proxy of gRPC, for one connection of a client. Its
539
517
  * configuration is the one of the harness. It has one entrypoint of h2c and the file provider over a
@@ -550,8 +528,6 @@ export declare const NGINX_GRPC: Machine;
550
528
  * - At SIGTERM, Traefik sends GOAWAY, and it closes each connection after graceTimeOut (10 s).
551
529
  */
552
530
  export declare const TRAEFIK_HTTP2: Machine;
553
- //#endregion
554
- //#region src/proxy/tcp-proxies.d.ts
555
531
  /**
556
532
  * This document is one proxied connection of Toxiproxy 2.12.0, with no toxic. Toxiproxy copies TCP, and it
557
533
  * knows no protocol above it. It has no timer on a link. Each socket gets the TCP keepalive of Go. It has
@@ -567,8 +543,6 @@ export declare const TOXIPROXY_LINK: Machine;
567
543
  * container, closes each connection fully.
568
544
  */
569
545
  export declare const DOCKER_PROXY_LINK: Machine;
570
- //#endregion
571
- //#region src/proxy/ztunnel.d.ts
572
546
  /**
573
547
  * This document is ztunnel 1.31.3 in the ambient mesh of Istio, in in-pod mode. It is one HBONE
574
548
  * connection from the ztunnel of a client pod to the port 15008 of a server pod. The flows of the
@@ -587,8 +561,6 @@ export declare const DOCKER_PROXY_LINK: Machine;
587
561
  * come. The kubelet sends SIGKILL to ztunnel at the end of the grace, and the kernel closes each socket.
588
562
  */
589
563
  export declare const ZTUNNEL_HBONE: Machine;
590
- //#endregion
591
- //#region src/rabbit/amqplib.d.ts
592
564
  /**
593
565
  * This document is amqplib 2.2.0 on Node, for one connection to a broker of AMQP 0-9-1 and one channel
594
566
  * on it. It gives the states of the connection, from its connect to its end, and the timers that act on
@@ -605,8 +577,6 @@ export declare const ZTUNNEL_HBONE: Machine;
605
577
  * by itself. Its recovery is a wrapper that this document does not hold.
606
578
  */
607
579
  export declare const AMQPLIB: Machine;
608
- //#endregion
609
- //#region src/rabbit/aten.d.ts
610
580
  /**
611
581
  * This document is aten 0.6.0, the failure detector between the nodes of RabbitMQ 4.3.6. It gives one
612
582
  * node that another node watches: up or down, as the detector of the watching node sees it.
@@ -625,8 +595,6 @@ export declare const AMQPLIB: Machine;
625
595
  * sink. The next poll then reports the node down.
626
596
  */
627
597
  export declare const ATEN_DETECTOR: Machine;
628
- //#endregion
629
- //#region src/rabbit/ra-member.d.ts
630
598
  /**
631
599
  * This document is ra 3.1.10, for one member of the Raft cluster of a quorum queue of RabbitMQ 4.3.6.
632
600
  * It gives the roles of the member, the election timers, and the change of leader.
@@ -646,8 +614,6 @@ export declare const ATEN_DETECTOR: Machine;
646
614
  * minority, and it commits nothing, until it sees a higher term.
647
615
  */
648
616
  export declare const RA_MEMBER: Machine;
649
- //#endregion
650
- //#region src/rabbit/rabbitmq-connection.d.ts
651
617
  /**
652
618
  * This document is RabbitMQ 4.3.6, for one connection of AMQP 0-9-1 on the broker. It gives the reader of
653
619
  * the connection, from the accept to the close, and the timers that act on it.
@@ -663,8 +629,6 @@ export declare const RA_MEMBER: Machine;
663
629
  * its socket, and the receive check pauses.
664
630
  */
665
631
  export declare const RABBITMQ_CONNECTION: Machine;
666
- //#endregion
667
- //#region src/sentinel.d.ts
668
632
  /**
669
633
  * This document is the Sentinel of Valkey 9.1.2. It gives the view of one Sentinel on the primary
670
634
  * of a group that it monitors, and the failover that it can lead. The states are the down states
@@ -672,8 +636,33 @@ export declare const RABBITMQ_CONNECTION: Machine;
672
636
  * Each timer of a period checks at the next tick of the Sentinel, thus its lateness is one tick.
673
637
  */
674
638
  export declare const SENTINEL: Machine;
675
- //#endregion
676
- //#region src/http/timers.d.ts
639
+ /**
640
+ * This document is the connection of the Manager of socket.io-client 4.8.4 over engine.io-client
641
+ * 6.6.7, with the Node WebSocket transport (the ws package), over its Linux TCP socket.
642
+ *
643
+ * - The client waits pingInterval + pingTimeout for each ping. The handshake arms the timer, and
644
+ * each ping arms it again. No other packet and no write moves it. At its end the client closes
645
+ * the connection with the reason "ping timeout".
646
+ * - The close of the client is close() of ws: a close frame. The socket stays open below it until
647
+ * the peer answers, or for the close timeout of ws (30 s).
648
+ * - Each close starts the reconnect of the Manager, when it is on. The wait of try n + 1 is
649
+ * min(reconnectionDelay × 2^n, reconnectionDelayMax), with a jitter of ± randomizationFactor of
650
+ * the backoff before its cap. An open sets n to 0, and so does each close of an open connection.
651
+ * - Each try has a time limit (`timeout` of the Manager).
652
+ * - A call with an acknowledgement has its own time limit, and the connection stays.
653
+ */
654
+ export declare const SOCKETIO_CLIENT: Machine;
655
+ /**
656
+ * This document is one connection as the Server of socket.io 4.8.4 on engine.io 6.6.11 holds it.
657
+ * The transport is WebSocket (ws 8.21.3), over its Linux TCP socket.
658
+ *
659
+ * - pingInterval after the handshake, or after the last pong, the server writes a ping. Then it
660
+ * waits pingTimeout for the pong, and at its end it closes the connection: close() of ws, a close
661
+ * frame. Thus the drop comes pingTimeout after the first ping without an answer.
662
+ * - In that wait, the first packet that is not a pong starts the wait again, once for each ping.
663
+ * - The http.Server of Node sets no SO_KEEPALIVE when keepAlive is off, its default.
664
+ */
665
+ export declare const SOCKETIO_SERVER: Machine;
677
666
  /**
678
667
  * This function gives the lateness of a Node timer of `ms` milliseconds. The lateness is the slack
679
668
  * of its sleep, 1 ms for the truncation of the loop clock, and the step of the coarse clock. The
@@ -716,13 +705,9 @@ export declare const undiciFastEarly: (ms: string) => Expr;
716
705
  * of 499 ms (`lib/util/timers.js:190-207`), with the lateness of a Node timer.
717
706
  */
718
707
  export declare const undiciFastLateness: (ms: string) => Expr;
719
- //#endregion
720
- //#region src/index.d.ts
721
708
  /**
722
709
  * This map holds each document of the package by its identifier, for example `linux-tcp`. A
723
710
  * document on another machine names that machine in `over.machine` as `systems.machine.<id>`.
724
711
  */
725
712
  export declare const MACHINES: Readonly<Record<string, Machine>>;
726
- //#endregion
727
- export type { SidecarSide };
728
- //# sourceMappingURL=index.d.ts.map
713
+ export type { SidecarSide };