Pure functions for WebSocket authentication logic.
Following FC/IS pattern - all functions are pure (no I/O). JWT token extraction and validation logic. Actual JWT verification delegated to shell/ports.
Pure functions for WebSocket authentication logic. Following FC/IS pattern - all functions are pure (no I/O). JWT token extraction and validation logic. Actual JWT verification delegated to shell/ports.
Pure functions for WebSocket connection state management.
Following FC/IS pattern - all functions are pure (no I/O). Connection lifecycle and authorization logic.
Pure functions for WebSocket connection state management. Following FC/IS pattern - all functions are pure (no I/O). Connection lifecycle and authorization logic.
Pure functions for WebSocket message validation and routing.
Following FC/IS pattern - all functions are pure (no I/O). Message creation, validation, and routing logic.
Pure functions for WebSocket message validation and routing. Following FC/IS pattern - all functions are pure (no I/O). Message creation, validation, and routing logic.
Pure functions for pub/sub topic management.
Implements topic-based message routing where connections can subscribe to topics and receive messages published to those topics. All functions are pure (no I/O, no side effects) following FC/IS pattern.
Key Features:
Data Structure: Subscriptions are represented as a map: {topic-name #{connection-id-1 connection-id-2 ...}}
Pure functions for pub/sub topic management.
Implements topic-based message routing where connections can subscribe to
topics and receive messages published to those topics. All functions are pure
(no I/O, no side effects) following FC/IS pattern.
Key Features:
- Subscribe connection to topic (add to subscription set)
- Unsubscribe connection from topic (remove from set)
- Find all subscribers for topic (set intersection)
- Clean up subscriptions on disconnect (remove all for connection)
Data Structure:
Subscriptions are represented as a map:
{topic-name #{connection-id-1 connection-id-2 ...}}cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |