fix: move ReleaseRoute & RunRouteRequests to use a queue

This commit is contained in:
Andrew Welker
2025-02-19 11:06:56 -06:00
parent 261779d4c4
commit 34f59f1410
2 changed files with 58 additions and 13 deletions

View File

@@ -0,0 +1,39 @@
using PepperDash.Essentials.Core.Queues;
using System;
namespace PepperDash.Essentials.Core.Routing
{
public class RouteRequestQueueItem : IQueueMessage
{
private readonly Action<RouteRequest> action;
private readonly RouteRequest routeRequest;
public RouteRequestQueueItem(Action<RouteRequest> routeAction, RouteRequest request)
{
action = routeAction;
routeRequest = request;
}
public void Dispatch()
{
action(routeRequest);
}
}
public class ReleaseRouteQueueItem: IQueueMessage
{
private readonly Action<IRoutingInputs, string> action;
private readonly IRoutingInputs destination;
private readonly string inputPortKey;
public ReleaseRouteQueueItem(Action<IRoutingInputs, string> action, IRoutingInputs destination, string inputPortKey)
{
this.action = action;
this.destination = destination;
this.inputPortKey = inputPortKey;
}
public void Dispatch() {
action(destination, inputPortKey);
}
}