PondSocket Rust
Rust implementation of PondSocket with the same wire protocol as the JavaScript, Go, and Python implementations.
Crates
| Crate | Purpose |
|---|---|
pondsocket-common |
Shared wire enums, schemas, message parsing, UUID helper |
pondsocket |
Core server model: endpoints, lobbies, channels, contexts, presence, pubsub |
pondsocket-axum |
Axum WebSocket adapter |
Features
- Endpoint connection authorization.
- Channel pattern matching with
:param,prefix:param, wildcard, and query support. - Join, leave, broadcast, reply, system events, and presence events.
- Server-side assigns.
- Outgoing message handlers that can transform or block delivery.
- Local in-memory pubsub.
- Optional Redis pubsub with
pondsocket/redis. - Cross-node broadcast delivery, targeted broadcast recipient metadata, assigns updates, and user eviction commands.
Development
Wire Shape
Inbound client messages use the existing camelCase protocol:
Presence messages keep the JS/Python payload shape: