示例#1
0
        /// <summary>
        /// RoleRevokePermissionAsync revokes a key or range permission of a specified role in async
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <AuthRoleRevokePermissionResponse> RoleRevokePermissionAsync(AuthRoleRevokePermissionRequest request, Metadata headers = null)
        {
            AuthRoleRevokePermissionResponse response = new AuthRoleRevokePermissionResponse();
            bool success    = false;
            int  retryCount = 0;

            while (!success)
            {
                try
                {
                    response = await _balancer.GetConnection().authClient.RoleRevokePermissionAsync(request, headers);

                    success = true;
                }
                catch (RpcException ex) when(ex.StatusCode == StatusCode.Unavailable)
                {
                    retryCount++;
                    if (retryCount >= _balancer._numNodes)
                    {
                        throw ex;
                    }
                }
            }
            return(response);
        }
示例#2
0
        /// <summary>
        /// RoleRevokePermissionAsync revokes a key or range permission of a specified role in async
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <AuthRoleRevokePermissionResponse> RoleRevokePermissionAsync(AuthRoleRevokePermissionRequest request, Metadata headers = null)
        {
            AuthRoleRevokePermissionResponse response = new AuthRoleRevokePermissionResponse();

            response = await _balancer.GetConnection().authClient.RoleRevokePermissionAsync(request, headers);

            return(response);
        }
示例#3
0
        /// <summary>
        /// RoleRevokePermission revokes a key or range permission of a specified role
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public AuthRoleRevokePermissionResponse RoleRevokePermission(AuthRoleRevokePermissionRequest request, Metadata headers = null)
        {
            AuthRoleRevokePermissionResponse response = new AuthRoleRevokePermissionResponse();

            response = _balancer.GetConnection().authClient.RoleRevokePermission(request, headers);

            return(response);
        }
示例#4
0
        public AuthRoleRevokePermissionResponse RoleRevokePermission(ByteSequence role,
                                                                     ByteSequence key, ByteSequence rangeEnd)
        {
            Etcdserverpb.AuthRoleRevokePermissionRequest roleRevokePermissionRequest = new Etcdserverpb.AuthRoleRevokePermissionRequest();
            roleRevokePermissionRequest.Role     = role.ToString();
            roleRevokePermissionRequest.Key      = role.ToString();
            roleRevokePermissionRequest.RangeEnd = rangeEnd.ToString();
            var rsp = authClient.RoleRevokePermission(roleRevokePermissionRequest);
            AuthRoleRevokePermissionResponse response = new AuthRoleRevokePermissionResponse(rsp);

            return(response);
            //  return Util.ToCompletableFuture(
            //        this.stub.roleRevokePermission(roleRevokePermissionRequest),
            //     new FunctionResponse<Etcdserverpb.AuthRoleRevokePermissionRequest, AuthRoleRevokePermissionResponse>());
        }
示例#5
0
        /// <summary>
        /// RoleRevokePermissionAsync revokes a key or range permission of a specified role in async
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <AuthRoleRevokePermissionResponse> RoleRevokePermissionAsync(AuthRoleRevokePermissionRequest request)
        {
            AuthRoleRevokePermissionResponse response = new AuthRoleRevokePermissionResponse();

            try
            {
                response = await _authClient.RoleRevokePermissionAsync(request, _headers);
            }
            catch (RpcException ex)
            {
                ResetConnection(ex);
                throw;
            }
            catch
            {
                throw;
            }
            return(response);
        }