public override Task <Empty> PrepareOk(PrepareOkRequest request, ServerCallContext context) { _bus.Publish(new ElectionMessage.PrepareOk( request.View, Uuid.FromDto(request.ServerId).ToGuid(), new IPEndPoint(IPAddress.Parse(request.ServerInternalHttp.Address), (int)request.ServerInternalHttp.Port), request.EpochNumber, request.EpochPosition, Uuid.FromDto(request.EpochId).ToGuid(), request.LastCommitPosition, request.WriterCheckpoint, request.ChaserCheckpoint, request.NodePriority)); return(EmptyResult); }
private async Task SendPrepareOkAsync(int view, Guid serverId, IPEndPoint serverInternalHttp, int epochNumber, long epochPosition, Guid epochId, long lastCommitPosition, long writerCheckpoint, long chaserCheckpoint, int nodePriority, DateTime deadline) { var request = new PrepareOkRequest { View = view, ServerId = Uuid.FromGuid(serverId).ToDto(), ServerInternalHttp = new EndPoint(serverInternalHttp.Address.ToString(), (uint)serverInternalHttp.Port), EpochNumber = epochNumber, EpochPosition = epochPosition, EpochId = Uuid.FromGuid(epochId).ToDto(), LastCommitPosition = lastCommitPosition, WriterCheckpoint = writerCheckpoint, ChaserCheckpoint = chaserCheckpoint, NodePriority = nodePriority }; await _electionsClient.PrepareOkAsync(request, deadline : deadline.ToUniversalTime()); }
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()); }
public override async Task <Empty> PrepareOk(PrepareOkRequest request, ServerCallContext context) { var user = context.GetHttpContext().User; if (!await _authorizationProvider.CheckAccessAsync(user, PrepareOkOperation, context.CancellationToken).ConfigureAwait(false)) { throw AccessDenied(); } _bus.Publish(new ElectionMessage.PrepareOk( request.View, Uuid.FromDto(request.ServerId).ToGuid(), new IPEndPoint(IPAddress.Parse(request.ServerInternalHttp.Address), (int)request.ServerInternalHttp.Port), request.EpochNumber, request.EpochPosition, Uuid.FromDto(request.EpochId).ToGuid(), request.LastCommitPosition, request.WriterCheckpoint, request.ChaserCheckpoint, request.NodePriority)); return(EmptyResult); }