Skip to content

feat: transport abstraction + optional redis support (wip)#68

Merged
objz merged 6 commits into
v3from
redis-support
Feb 24, 2026
Merged

feat: transport abstraction + optional redis support (wip)#68
objz merged 6 commits into
v3from
redis-support

Conversation

@objz
Copy link
Copy Markdown
Owner

@objz objz commented Feb 22, 2026

This PR introduces a transport abstraction layer and prepares CommandBridge for optional Redis support

The goal is to decouple the core logic from WebSocketChannel and make the transport interchangeable. WebSocket remains the default and should behave exactly like before. Redis will be added as an optional transport mode, not enabled by default.

Main changes so far:

  • Introduced Endpoint interface to replace direct WebSocketChannel usage
  • Refactored SendOperation to be transport-agnostic
  • Refactored SessionHub to be keyed by clientId instead of channel
  • Added WS-specific WsEndpoint implementation
  • Adjusted WsServer to use endpoint abstraction while keeping existing behavior

No functional behavior change is intended for WebSocket mode.

Next steps:

  • Implement Redis transport (likely using Streams)
  • Add Redis config section and transport mode selection
  • Implement heartbeat / membership handling for Redis mode (?)
  • Ensure request/response semantics remain identical

…ls anymore. this helps to add more backends like redis
@objz objz added this to the Redis Support milestone Feb 22, 2026
@objz objz self-assigned this Feb 22, 2026
@objz objz added the enhancement New feature or request label Feb 22, 2026
@objz objz linked an issue Feb 22, 2026 that may be closed by this pull request
@objz objz merged commit e4f19e7 into v3 Feb 24, 2026
3 checks passed
@objz objz deleted the redis-support branch February 24, 2026 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Multi Proxy

1 participant