private async Task SendLeaderIsResigningOkAsync(Guid leaderId, IPEndPoint leaderInternalHttp,
                                                 Guid serverId, IPEndPoint serverInternalHttp, DateTime deadline)
 {
     var request = new LeaderIsResigningOkRequest {
         LeaderId           = Uuid.FromGuid(leaderId).ToDto(),
         LeaderInternalHttp = new EndPoint(leaderInternalHttp.Address.ToString(), (uint)leaderInternalHttp.Port),
         ServerId           = Uuid.FromGuid(serverId).ToDto(),
         ServerInternalHttp = new EndPoint(serverInternalHttp.Address.ToString(), (uint)serverInternalHttp.Port),
     };
     await _electionsClient.LeaderIsResigningOkAsync(request, deadline : deadline.ToUniversalTime());
 }
 private async Task SendLeaderIsResigningOkAsync(Guid leaderId, EndPoint leaderHttp,
                                                 Guid serverId, EndPoint serverHttpEndPoint, DateTime deadline)
 {
     var request = new LeaderIsResigningOkRequest {
         LeaderId   = Uuid.FromGuid(leaderId).ToDto(),
         LeaderHttp = new GossipEndPoint(leaderHttp.GetHost(), (uint)leaderHttp.GetPort()),
         ServerId   = Uuid.FromGuid(serverId).ToDto(),
         ServerHttp = new GossipEndPoint(serverHttpEndPoint.GetHost(), (uint)serverHttpEndPoint.GetPort()),
     };
     await _electionsClient.LeaderIsResigningOkAsync(request, deadline : deadline.ToUniversalTime());
 }
Пример #3
0
 public override Task <Empty> LeaderIsResigningOk(LeaderIsResigningOkRequest request, ServerCallContext context)
 {
     _bus.Publish(new ElectionMessage.LeaderIsResigningOk(
                      Uuid.FromDto(request.LeaderId).ToGuid(),
                      new IPEndPoint(IPAddress.Parse(request.LeaderInternalHttp.Address),
                                     (int)request.LeaderInternalHttp.Port),
                      Uuid.FromDto(request.ServerId).ToGuid(),
                      new IPEndPoint(IPAddress.Parse(request.ServerInternalHttp.Address),
                                     (int)request.ServerInternalHttp.Port)));
     return(EmptyResult);
 }
Пример #4
0
        public override async Task <Empty> LeaderIsResigningOk(LeaderIsResigningOkRequest request, ServerCallContext context)
        {
            var user = context.GetHttpContext().User;

            if (!await _authorizationProvider.CheckAccessAsync(user, MasterIsResigningOkOperation, context.CancellationToken).ConfigureAwait(false))
            {
                throw AccessDenied();
            }
            _bus.Publish(new ElectionMessage.LeaderIsResigningOk(
                             Uuid.FromDto(request.LeaderId).ToGuid(),
                             new IPEndPoint(IPAddress.Parse(request.LeaderInternalHttp.Address),
                                            (int)request.LeaderInternalHttp.Port),
                             Uuid.FromDto(request.ServerId).ToGuid(),
                             new IPEndPoint(IPAddress.Parse(request.ServerInternalHttp.Address),
                                            (int)request.ServerInternalHttp.Port)));
            return(EmptyResult);
        }