1.8 KiB
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 backendRedisEventsPublisher(src/Signals/StellaOps.Signals/Services/RedisEventsPublisher.cs) - Redis-based transport for signal event deliveryMessagingEventsPublisher(src/Signals/StellaOps.Signals/Services/MessagingEventsPublisher.cs) - messaging-based transport backendInMemoryEventsPublisher(src/Signals/StellaOps.Signals/Services/InMemoryEventsPublisher.cs) - in-memory transport for testingNullEventsPublisher(src/Signals/StellaOps.Signals/Services/NullEventsPublisher.cs) - no-op transport for disabled routingSignalsRouterEventsOptions(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
RouterEventsPublisherwith Redis transport and verify signal events are delivered - Switch transport to
MessagingEventsPublisherand verify events are delivered via messaging backend - Verify
InMemoryEventsPublishercaptures 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
SignalsRouterEventsOptionsconfiguration