Realtime service implementation (Shell layer).
Orchestrates WebSocket messaging between core logic and adapters. Implements the imperative shell in the FC/IS architecture pattern.
Responsibilities (Shell/I/O):
Does NOT contain:
Realtime service implementation (Shell layer). Orchestrates WebSocket messaging between core logic and adapters. Implements the imperative shell in the FC/IS architecture pattern. Responsibilities (Shell/I/O): - WebSocket connection lifecycle (open, close) - JWT authentication (delegates to user module) - Message routing (uses core routing logic) - Connection registry management - Pub/sub topic management - Logging and error handling Does NOT contain: - Business logic (lives in core.*) - Database operations (no persistence needed for WebSockets) - Message validation logic (lives in core.message)
(create-realtime-service connection-registry
jwt-verifier
&
{:keys [pubsub-manager logger error-reporter]})Create realtime service for WebSocket messaging.
Args: connection-registry - IConnectionRegistry implementation jwt-verifier - IJWTVerifier implementation pubsub-manager - IPubSubManager implementation (optional, for topic support) logger - Logger instance (optional, uses clojure.tools.logging) error-reporter - Error reporter instance (optional)
Returns: RealtimeService instance implementing IRealtimeService
Create realtime service for WebSocket messaging. Args: connection-registry - IConnectionRegistry implementation jwt-verifier - IJWTVerifier implementation pubsub-manager - IPubSubManager implementation (optional, for topic support) logger - Logger instance (optional, uses clojure.tools.logging) error-reporter - Error reporter instance (optional) Returns: RealtimeService instance implementing IRealtimeService
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 |