예제 #1
0
 static void ProcessListRoomUsers(ServerListRoomUsersResponse resp)
 {
     if (resp.UsersNames == null || resp.UsersNames.Length == 0)
     {
         ProcessResponse(resp);
     }
     foreach (var user in resp.UsersNames)
     {
         Console.WriteLine(user);
     }
 }
예제 #2
0
        private void ListRoomUsersRequest(ClientListRoomUsersRequest command, int streamId, CommandAnswerContext answerContext)
        {
            var result = new ServerListRoomUsersResponse();

            lock (_users)
            {
                var ctx = ValidateUser(streamId, answerContext, result);
                if (answerContext.Answered)
                {
                    return;
                }
                var usersInRoom = _users.Where(_ => _.Rooms.Contains(command.RoomName)).Select(_ => _.Name).ToArray();
                result.UsersNames = usersInRoom;
                answerContext.TryAnswer(result);
            }
        }