subduction_websocket 0.8.1

WebSocket transport layer for the Subduction sync protocol
Documentation

Subduction WebSocket

[!WARNING] This is an early release preview. It has a very unstable API. No guarantees are given. DO NOT use for production use cases at this time. USE AT YOUR OWN RISK.

WebSocket transport layer for the Subduction sync protocol. This is the most common transport in practice.

Architecture

┌───────────────────────────────────────────────────────────────┐
│                    WebSocket<T, K>                            │
│                                                               │
│  ┌─────────────┐    outbound_tx    ┌──────────────────────┐   │
│  │ send_bytes()│ ───────────────►  │   [SenderTask]       │   │
│  └─────────────┘                   │  drains to WebSocket │   │
│                                    └──────────────────────┘   │
│                                              │                │
│                                              ▼                │
│                                    ┌──────────────────────┐   │
│                                    │   WebSocketStream    │   │
│                                    │        <T>           │   │
│                                    └──────────────────────┘   │
│                                              │                │
│                                              ▼                │
│  ┌─────────────┐    inbound_reader ┌──────────────────────┐   │
│  │ recv_bytes()│ ◄───────────────  │  [ListenerTask]      │   │
│  └─────────────┘                   │  reads from WebSocket│   │
│                                    └──────────────────────┘   │
└───────────────────────────────────────────────────────────────┘

no_std Support

This crate is no_std compatible when the std feature is disabled. It requires alloc for dynamic memory allocation.

License

See the workspace LICENSE file.