public void KickUser(string userId, [FromBody] KickUserRequest request) { var user = this.GetUser(userId); var authentication = this.Authentication; user.Dispatcher.Invoke(() => { user.Kick(authentication, request.Comment); }); }
public override Task <KickUserResponse> KickUser(KickUserRequest request, ServerCallContext context) { logger.LogInformation($"force to disconnect user : {request.UserId}"); if (pusher.Disconnect(request.UserId) == false) { logger.LogWarning($"user not found to disconnect : {request.UserId}"); return(Task.FromResult(new KickUserResponse { Result = KickUserResponse.Types.ResultType.NotExist })); } return(Task.FromResult(new KickUserResponse { Result = KickUserResponse.Types.ResultType.Ok })); }
public override async Task <KickUserResponse> KickUser(KickUserRequest request, ServerCallContext context) { string pushBackendAddress; lock (sessions) { if (sessions.TryGetValue(request.UserId, out pushBackendAddress) == false) { return(new KickUserResponse { Result = KickUserResponse.Types.ResultType.NotExist }); } } var client = clients.GetClient <SessionHost.SessionHostClient>(pushBackendAddress); return(await client.KickUserAsync(request, header)); }