public async Task <LeaseTimeToLiveResponse> LeaseTimeToLiveAsync(LeaseTimeToLiveRequest request, Metadata headers = null) { LeaseTimeToLiveResponse response = new LeaseTimeToLiveResponse(); bool success = false; int retryCount = 0; while (!success) { try { response = await _balancer.GetConnection().leaseClient.LeaseTimeToLiveAsync(request, headers); success = true; } catch (RpcException ex) when(ex.StatusCode == StatusCode.Unavailable) { retryCount++; if (retryCount >= _balancer._numNodes) { throw ex; } } } return(response); }
/// <summary> /// LeaseTimeToLive retrieves lease information. /// </summary> /// <param name="request">The request to send to the server.</param> /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param> /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param> /// <param name="cancellationToken">An optional token for canceling the call.</param> /// <returns>The call object.</returns> public async Task <LeaseTimeToLiveResponse> LeaseTimeToLiveAsync(LeaseTimeToLiveRequest request, Grpc.Core.Metadata headers = null, DateTime?deadline = null, CancellationToken cancellationToken = default) { LeaseTimeToLiveResponse response = new LeaseTimeToLiveResponse(); bool success = false; int retryCount = 0; while (!success) { try { response = await _balancer.GetConnection().leaseClient .LeaseTimeToLiveAsync(request, headers, deadline, cancellationToken); success = true; } catch (RpcException ex) when(ex.StatusCode == StatusCode.Unavailable) { retryCount++; if (retryCount >= _balancer._numNodes) { throw; } } } return(response); }
public static Entity.LeaseTimeToLiveResponse FromProto(this LeaseTimeToLiveResponse response) { return(new Entity.LeaseTimeToLiveResponse() { GrantedTTL = response.GrantedTTL, Header = response.Header.FromProto(), ID = response.ID, TTL = response.TTL, Keys = response.Keys.FromProto() }); }
public LeaseTimeToLiveResponse TimeToLive(long leaseId, LeaseOption option) { Etcdserverpb.LeaseTimeToLiveRequest leaseTimeToLiveRequest = new Etcdserverpb.LeaseTimeToLiveRequest { ID = leaseId, Keys = option.IsAttachedKeys }; var rsp = leaseClient.LeaseTimeToLive(leaseTimeToLiveRequest); LeaseTimeToLiveResponse response = new LeaseTimeToLiveResponse(rsp); return(response); }
public LeaseTimeToLiveResponse TimeToLive(long leaseId, LeaseOption option) { Etcdserverpb.LeaseTimeToLiveRequest leaseTimeToLiveRequest = new Etcdserverpb.LeaseTimeToLiveRequest(); leaseTimeToLiveRequest.ID = leaseId; leaseTimeToLiveRequest.Keys = option.isAttachedKeys(); var rsp = leaseClient.LeaseTimeToLive(leaseTimeToLiveRequest); LeaseTimeToLiveResponse response = new LeaseTimeToLiveResponse(rsp); return(response); //return Util.ToCompletableFutureWithRetry( // this.stub.LeaseTimeToLive(leaseTimeToLiveRequest), // new FunctionResponse<Etcdserverpb.LeaseTimeToLiveRequest, LeaseTimeToLiveResponse>() // ); }