コード例 #1
0
ファイル: ActionProcessor.cs プロジェクト: darrenferne/stuff
        public ActionProcessor(IActionProcessorRequirements requirements, ActorSystem actorSystem)
        {
            _log          = actorSystem.Log;
            _requirements = requirements;

            var name = string.IsNullOrEmpty(_requirements.PipelineConfiguration.Name) ? $"{ActionProcessorManager.Name}" : $"{ActionProcessorManager.Name}_{_requirements.PipelineConfiguration.Name}";

            _actionProcessorManager = actorSystem.ActorOf(ActionProcessorManager.Props(_requirements), name);
        }
コード例 #2
0
        public ActionStateManager(IActionProcessorRequirements requirements)
        {
            _log = Context.GetLogger();

            _requirements = requirements;

            Receive <GetStateRequest>(request => OnRestoreStateRequest(request));
            Receive <UpdateStateRequest>(request => OnUpdateStateRequest(request));
        }
コード例 #3
0
        public ActionProcessorManager(IActionProcessorRequirements requirements)
        {
            _log = Context.GetLogger();

            _requirements = requirements;
            //TODO add validation for requirements

            Receive <StartRequest>(request => OnStart(request));
            Receive <StopRequest>(request => OnStop(request));
            Receive <IActionRequest>(request => OnProcessAction(request));
        }
コード例 #4
0
        public ActionManager(IActionProcessorRequirements requirements, IAllowedState forState)
        {
            _log = Context.GetLogger();

            _requirements = requirements;
            _state        = forState;

            _allowedActions = new Dictionary <string, IAllowedAction>(_state.AllowedActions);

            Receive <IActionRequest>(request => OnReceiveRequest(request),
                                     request => CanHandleRequest(request));

            Receive <IActionRequest>(request => OnUnhandledRequest(request));
        }
コード例 #5
0
        public ActionPipelineManager(IActionProcessorRequirements requirements)
        {
            _log = Context.GetLogger();

            _requirements = requirements;

            _stateProcessors = new ConcurrentDictionary <string, IActorRef>();

            _stateManager = Context.ActorOf(ActionStateManager.Props(_requirements));

            Receive <RecoveryRequest>(request => OnRecoveryRequest(request));

            Receive <IActionRequest>(request => OnReceiveRequest(request),
                                     request => CanHandleRequest(request));

            Receive <IActionRequest>(request => OnUnhandledRequest(request));
            Receive <UnhandledResponse>(response => OnUnhandledResponse(response));

            Receive <GetStateResponse>(response => OnStateRetrieved(response));
            Receive <UpdateStateResponse>(response => OnStateUpdated(response));

            Receive <IActionResponse>(response => OnReceiveResponse(response));
        }
コード例 #6
0
 public static Props Props(IActionProcessorRequirements requirements, IAllowedState forState)
 {
     return(Akka.Actor.Props.Create(() => new ActionManager(requirements, forState)));
 }
コード例 #7
0
 public static Props Props(IActionProcessorRequirements requirements)
 {
     return(Akka.Actor.Props.Create(() => new ActionProcessorManager(requirements)));
 }