internal async static Task ProcessEvent(IProcessorActor actor, Event ev, IEventQueueOperator queueOperator) { var events = (await actor.ProcessAsync(ev)).ToArray(); // the enumerable has to be turned into a list anyway. it does further on var groups = events.GroupBy(x => x.QueueName); foreach (var gr in groups) { await queueOperator.PushBatchAsync(gr); TryDisposeMessages(gr); } }
public static Task DirectCallToActor(IProcessorActor actor, QueueName queueName, Message msg, IEventQueueOperator queueOperator) { var ev = msg.ToEvent(queueName); return(FactoryActor.ProcessEvent(actor, ev, queueOperator)); }
public static Task Invoke(this IProcessorActor actor, QueueName queueName, Message msg, IEventQueueOperator queueOperator) { var ev = msg.ToEvent(queueName); return(FactoryActor.ProcessEvent(actor, ev, queueOperator)); }