Exemplo n.º 1
0
        private async Task <ClusterInfo> SendGossipAsync(ClusterInfo clusterInfo,
                                                         EndPoint server, DateTime deadline)
        {
            var request = new GossipRequest {
                Info   = ClusterInfo.ToGrpcClusterInfo(clusterInfo),
                Server = new GossipEndPoint(server.GetHost(), (uint)server.GetPort())
            };
            var clusterInfoDto = await _gossipClient.UpdateAsync(request, deadline : deadline.ToUniversalTime());

            return(ClusterInfo.FromGrpcClusterInfo(clusterInfoDto));
        }
 private async Task SendPrepareOkAsync(int view, Guid serverId, EndPoint serverHttpEndPoint, int epochNumber,
                                       long epochPosition, Guid epochId, Guid epochLeaderInstanceId, long lastCommitPosition, long writerCheckpoint, long chaserCheckpoint,
                                       int nodePriority, ClusterInfo clusterInfo, DateTime deadline)
 {
     var request = new PrepareOkRequest {
         View                  = view,
         ServerId              = Uuid.FromGuid(serverId).ToDto(),
         ServerHttp            = new GossipEndPoint(serverHttpEndPoint.GetHost(), (uint)serverHttpEndPoint.GetPort()),
         EpochNumber           = epochNumber,
         EpochPosition         = epochPosition,
         EpochId               = Uuid.FromGuid(epochId).ToDto(),
         EpochLeaderInstanceId = Uuid.FromGuid(epochLeaderInstanceId).ToDto(),
         LastCommitPosition    = lastCommitPosition,
         WriterCheckpoint      = writerCheckpoint,
         ChaserCheckpoint      = chaserCheckpoint,
         NodePriority          = nodePriority,
         ClusterInfo           = ClusterInfo.ToGrpcClusterInfo(clusterInfo)
     };
     await _electionsClient.PrepareOkAsync(request, deadline : deadline.ToUniversalTime());
 }