Files
git.stella-ops.org/docs/features/unchecked/signals/signals-router-transport.md

1.8 KiB

Signals Router Transport

Module

Signals

Status

IMPLEMENTED

Description

Event routing transport layer for signals enabling alternative message delivery paths beyond Redis, supporting pluggable transport backends for fact propagation.

Implementation Details

  • Modules: src/Signals/StellaOps.Signals/Services/, src/Signals/StellaOps.Signals/Options/
  • Key Classes:
    • RouterEventsPublisher (src/Signals/StellaOps.Signals/Services/RouterEventsPublisher.cs) - routes signal events via configurable transport backend
    • RedisEventsPublisher (src/Signals/StellaOps.Signals/Services/RedisEventsPublisher.cs) - Redis-based transport for signal event delivery
    • MessagingEventsPublisher (src/Signals/StellaOps.Signals/Services/MessagingEventsPublisher.cs) - messaging-based transport backend
    • InMemoryEventsPublisher (src/Signals/StellaOps.Signals/Services/InMemoryEventsPublisher.cs) - in-memory transport for testing
    • NullEventsPublisher (src/Signals/StellaOps.Signals/Services/NullEventsPublisher.cs) - no-op transport for disabled routing
    • SignalsRouterEventsOptions (src/Signals/StellaOps.Signals/Options/SignalsRouterEventsOptions.cs) - configuration for router transport selection
  • Interfaces: IEventsPublisher (src/Signals/StellaOps.Signals/Services/IEventsPublisher.cs)
  • Source: SPRINT_0143_0001_0001_signals.md

E2E Test Plan

  • Configure RouterEventsPublisher with Redis transport and verify signal events are delivered
  • Switch transport to MessagingEventsPublisher and verify events are delivered via messaging backend
  • Verify InMemoryEventsPublisher captures events in memory for test assertions
  • Publish a reachability fact update and verify it is routed to subscribers via the configured transport
  • Verify transport selection via SignalsRouterEventsOptions configuration