Пример #1
0
        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);
            });
        }
Пример #2
0
 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
     }));
 }
Пример #3
0
        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));
        }