コード例 #1
0
ファイル: ShardRegion.cs プロジェクト: zhanjian/akka.net
        private void HandleShardRegionCommand(IShardRegionCommand command)
        {
            if (command is Retry)
            {
                if (ShardBuffers.Count != 0)
                {
                    _retryCount++;
                }

                if (_coordinator == null)
                {
                    Register();
                }
                else
                {
                    SendGracefulShutdownToCoordinator();
                    RequestShardBufferHomes();
                    TryCompleteGracefulShutdown();
                }
            }
            else if (command is GracefulShutdown)
            {
                Log.Debug("Starting graceful shutdown of region and all its shards");
                GracefulShutdownInProgres = true;
                SendGracefulShutdownToCoordinator();
                TryCompleteGracefulShutdown();
            }
            else
            {
                Unhandled(command);
            }
        }
コード例 #2
0
        private void HandleShardRegionCommand(IShardRegionCommand command)
        {
            switch (command)
            {
            case Retry _:
                if (ShardBuffers.Count != 0)
                {
                    _retryCount++;
                }

                if (_coordinator == null)
                {
                    Register();
                }
                else
                {
                    SendGracefulShutdownToCoordinator();
                    RequestShardBufferHomes();
                    TryCompleteGracefulShutdown();
                }
                break;

            case GracefulShutdown _:
                Log.Debug("Starting graceful shutdown of region and all its shards");
                GracefulShutdownInProgress = true;
                SendGracefulShutdownToCoordinator();
                TryCompleteGracefulShutdown();
                break;

            default:
                Unhandled(command);
                break;
            }
        }
コード例 #3
0
ファイル: Shard.cs プロジェクト: youyouzaileizi/akka.net
 private static void HandleShardRegionCommand <TShard>(this TShard shard, IShardRegionCommand message) where TShard : IShard
 {
     if (message is Passivate passivate)
     {
         shard.Passivate(shard.Sender, passivate.StopMessage);
     }
     else
     {
         shard.Unhandled(message);
     }
 }
コード例 #4
0
ファイル: Shard.cs プロジェクト: xyicheng/akka.net
 private void HandleShardRegionCommand(IShardRegionCommand message)
 {
     if (message is Passivate passivate)
     {
         Passivate(_context.Sender, passivate.StopMessage);
     }
     else
     {
         _unhandled(message);
     }
 }
コード例 #5
0
        private void HandleShardRegionCommand(IShardRegionCommand message)
        {
            var passivate = message as Passivate;

            if (passivate != null)
            {
                Passivate(Sender, passivate.StopMessage);
            }
            else
            {
                Unhandled(message);
            }
        }