v0.2.7-pre.005
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<!-- file: docs/plans/014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md -->
|
||||
<!-- version: 6 -->
|
||||
<!-- version: 7 -->
|
||||
|
||||
# Plan `0.2.7` — WebSocket Solana standard
|
||||
|
||||
> **Statut : actif, `0.2.7-pre.004`.** `pre.003` est validé opérateur. `pre.004` matérialise les dépendances WebSocket, la première session physique actor-owned, le handshake/read/write JSON-RPC, la map bornée de requests en attente et les fixtures serveur local. Les subscriptions typed restent différées.
|
||||
> **Statut : actif, `0.2.7-pre.005`.** `pre.004-fix.001` est validé opérateur. `pre.005` durcit la session physique avec limites adversariales, control frames, purge des pending requests et shutdown explicite borné. Les subscriptions typed restent différées.
|
||||
|
||||
## 1. Objet et base vérifiée
|
||||
|
||||
@@ -666,6 +666,10 @@ Si la session est déjà reconnecting, elle ne se reconnecte jamais seulement po
|
||||
|
||||
`Drop` peut déclencher un signal best-effort, mais ne remplace pas l'API async explicite pour les garanties de lifecycle.
|
||||
|
||||
Implémentation `pre.005` : le signal de shutdown est hors de la command queue afin qu'une saturation de celle-ci ne puisse pas empêcher la fermeture. `close()` utilise `close_timeout` comme budget caller, l'actor annule d'abord les pending requests, tente le Close WebSocket sous ce budget, puis publie `Closed`. Un Close distant propre mène également à `Closed`; une erreur I/O ou protocolaire reste terminale `Failed`.
|
||||
|
||||
Les Ping reçus s'appuient sur le Pong automatiquement mis en file par Tungstenite et forcent son flush. Aucun second Pong applicatif ni heartbeat périodique n'est ajouté.
|
||||
|
||||
## 14. Erreurs et anomalies de protocole
|
||||
|
||||
Réutiliser lorsque possible les codes HTTP/JSON-RPC génériques existants :
|
||||
@@ -871,7 +875,7 @@ pre.001 audit interne/externe + matrice 18 méthodes + bot3 + dependencies + th
|
||||
pre.002 DONE — settings WS Transport + URL redaction + IDs/states/snapshots + tests de settings
|
||||
pre.003 DONE — std.transport V2 HTTP+WS + backward V1 + discriminateur WS + schema/fixtures + Config -> WsTransportSettings
|
||||
pre.004 DONE — deps tokio-tungstenite/futures-util + actor physique + handshake/read/write + pending JSON-RPC + serveur local
|
||||
pre.005 limites frame/message/request + control frames + cancellation/close/shutdown + adversarial socket tests
|
||||
pre.005 DONE — limites frame/message/request + control frames + cancellation/close/shutdown + adversarial socket tests
|
||||
pre.006 registry subscriptions + IDs locaux + generic subscribe/unsubscribe engine + channels typed bounded
|
||||
pre.007 reconnect borné + resubscribe déterministe + continuity gap + races unsubscribe/reconnect
|
||||
pre.008 backpressure per-sub + overflow/limits + leak/lifecycle adversarial tests
|
||||
|
||||
Reference in New Issue
Block a user