public static IEventActor SubscribeToEvent <TEvent>(this IActorRefFactory actor, IActorRef target, Action <TEvent> handler, bool killOnFirstResponse = false)
        {
            var eventActor = EventActor.Create(actor, handler, killOnFirstResponse);

            eventActor.Send(target, new EventSubscribe(typeof(TEvent)));
            return(eventActor);
        }
Ejemplo n.º 2
0
        public void Request(string name, Action <Option <object> > valueResponse, CultureInfo?info = null)
        {
            var hook = EventActor.Create(_system, null, true);

            hook.Register(HookEvent.Create <LocCoordinator.ResponseLocValue>(res => valueResponse(res.Result)));
            hook.Send(_extension.LocCoordinator,
                      new LocCoordinator.RequestLocValue(name, info ?? CultureInfo.CurrentUICulture));
        }
        public void Request(string name, Action <object?> valueResponse, Maybe <CultureInfo> info = default)
        {
            var hook = EventActor.Create(_system, Maybe <string> .Nothing, true);

            hook.Do(h =>
            {
                h.Register(HookEvent.Create <LocCoordinator.ResponseLocValue>(res => valueResponse(res.Result)));
                h.Send(_extension.LocCoordinator, new LocCoordinator.RequestLocValue(name, info.Or(CultureInfo.CurrentUICulture)));
            });
        }