예제 #1
0
 private void BecomeWork(int messagePrefix)
 {
     _messagePrefix = messagePrefix;
     _state         = MessageActorState.Initialized;
     Become(Work);
     Stash.UnstashAll();
 }
예제 #2
0
        private void Starting()
        {
            _state = MessageActorState.NotInitialized;

            Receive <MessageActorConfigureMessage>(config =>
            {
                BecomeWork(config.MessagePrefix);
            });
            Receive <QMessage>(message =>
            {
                Stash.Stash();
                Console.WriteLine($"Message '{message}' stashed.");
            });
            Receive <MessageActorGetStateMessage>(message =>
            {
                Context.System.ActorSelection("*/MessageActorInitializerActor").Tell(new MessageActorCurrentStateMessage(_messagePrefix, _state));
            });
        }
 public MessageActorCurrentStateMessage(int prefix, MessageActorState state)
 {
     Prefix = prefix;
     State  = state;
 }