Expand description
WebSocket source and sink connectors. WebSocket source and sink connectors for LaminarDB.
Provides four connector modes:
- Source client: Connects to an external WebSocket server (e.g., exchange feeds)
- Source server: Listens for incoming WebSocket connections (e.g.,
IoTsensors) - Sink server: Fans out streaming query results to connected subscribers
- Sink client: Pushes streaming query output to an external WebSocket server
§Delivery Guarantees
WebSocket is a non-replayable transport. Source connectors provide at-most-once or best-effort delivery — there are no offsets to seek to on recovery. Sink connectors optionally support a replay buffer for client-side resume, but this is bounded and best-effort.
§Architecture
All WebSocket I/O runs in Ring 2 (Tokio tasks). Parsed Arrow
RecordBatch data crosses to Ring 0 via bounded channels.
Re-exports§
pub use backpressure::BackpressureStrategy;pub use checkpoint::WebSocketSourceCheckpoint;pub use metrics::WebSocketSourceMetrics;pub use protocol::ClientMessage;pub use protocol::ServerMessage;pub use sink::WebSocketSinkServer;pub use sink_client::WebSocketSinkClient;pub use sink_config::SinkFormat;pub use sink_config::SinkMode;pub use sink_config::SlowClientPolicy;pub use sink_config::WebSocketSinkConfig;pub use sink_metrics::WebSocketSinkMetrics;pub use source::WebSocketSource;pub use source_config::EventTimeFormat;pub use source_config::MessageFormat;pub use source_config::ReconnectConfig;pub use source_config::SourceMode;pub use source_config::WebSocketSourceConfig;pub use source_config::WsAuthConfig;pub use source_server::WebSocketSourceServer;
Modules§
- backpressure
- Backpressure strategies for WebSocket connectors.
- checkpoint
- WebSocket source checkpoint types.
- connection
- WebSocket connection management: reconnection, failover, heartbeat.
- fanout
- Per-client fan-out manager for WebSocket sink server mode.
- metrics
- WebSocket source connector metrics.
- parser
- Message parsing: WebSocket frames → Arrow
RecordBatch. - protocol
- Subscription wire protocol for WebSocket sink server mode.
- serializer
- Arrow
RecordBatch→ WebSocket message serialization. - sink
- WebSocket sink connector — server mode.
- sink_
client - WebSocket sink connector — client mode.
- sink_
config - WebSocket sink connector configuration.
- sink_
metrics - WebSocket sink connector metrics.
- source
- WebSocket source connector — client mode.
- source_
config - WebSocket source connector configuration.
- source_
server - WebSocket source connector — server mode.
Functions§
- register_
websocket_ sink - Registers the WebSocket sink connector with the given registry.
- register_
websocket_ source - Registers the WebSocket source connector with the given registry.