コード例 #1
0
 public static IsAliveReply CheckIfServerIsStillAlive(Partition partition, string crashedMasterServerId)
 {
     try
     {
         ServerCommunicationService.ServerCommunicationServiceClient crashedServer = partition.getReplicaById(crashedMasterServerId);
         Console.WriteLine(">>> Check if Server is Alive...");
         return(crashedServer.IsAlive(new IsAliveRequest()));
     }
     catch
     {
         Console.WriteLine(">>> Server has not replied. It is crashed");
         return(null);
     }
 }
コード例 #2
0
        private void updateConnectionToReplicas(string partition_id)
        {
            string[] replicas = PartitionMapping.GetPartitionReplicas(partition_id);

            foreach (string replica in replicas)
            {
                GrpcChannel channel;

                if (replica_channels.TryGetValue(replica, out channel))
                {
                    channel.ShutdownAsync();
                }

                string url = ServerUrlMapping.GetServerUrl(replica);
                channel = GrpcChannel.ForAddress(url);
                replica_channels[replica] = channel;
                replica_clients[replica]  = new ServerCommunicationService.ServerCommunicationServiceClient(channel);
            }
        }