public static Func <Receive, Receive> ForReceiveMiddlewareUsing(IMonitoringProvider provider) { return(next => async context => { await provider.IndexReceiveAsync(context); await next(context); }); }
public ShoppingListsActorProvider(IProvider persistenceProvider, IMonitoringProvider monitoringProvider) { var props = Actor.FromProducer(() => new ShoppingListsActor(persistenceProvider, monitoringProvider)) .WithReceiveMiddleware(Monitoring.ForReceiveMiddlewareUsing(monitoringProvider)) .WithSenderMiddleware(Monitoring.ForSenderMiddlewareUsing(monitoringProvider)); ActorInstance = Actor.SpawnNamed(props, "ShoppingLists"); }
public static Func <Sender, Sender> ForSenderMiddlewareUsing(IMonitoringProvider provider) { return(next => async(context, target, envelope) => { await provider.IndexSendAsync(context); await next(context, target, envelope); }); }
public ShoppingListsActor(IProvider persistenceProvider, IMonitoringProvider monitoringProvider) { this.persistenceProvider = persistenceProvider; this.monitoringProvider = monitoringProvider; }