add processor to push input into router (#104)

This commit is contained in:
Joel Wetzell
2026-03-13 21:17:54 -05:00
committed by GitHub
parent b1076ce1e4
commit c1161c5aa9
3 changed files with 82 additions and 4 deletions

View File

@@ -31,7 +31,7 @@ type Router struct {
moduleWait sync.WaitGroup
logger *slog.Logger
runningConfig config.Config
runningConfigMu sync.Mutex
runningConfigMu sync.RWMutex
wsConns []*websocket.Conn
wsConnsMu sync.Mutex
apiServer *http.Server
@@ -183,10 +183,10 @@ func (r *Router) Stop() {
}
func (r *Router) HandleInput(ctx context.Context, sourceId string, payload any) (bool, []common.RouteIOError) {
r.runningConfigMu.Lock()
defer r.runningConfigMu.Unlock()
r.runningConfigMu.RLock()
defer r.runningConfigMu.RUnlock()
spanCtx, span := otel.Tracer("router").Start(ctx, "input", trace.WithAttributes(attribute.String("source.id", sourceId)), trace.WithNewRoot())
spanCtx, span := otel.Tracer("router").Start(ctx, "input", trace.WithAttributes(attribute.String("source.id", sourceId)))
defer span.End()
var routeIOErrors []common.RouteIOError
routeFound := false