/// <summary> /// 매칭 조건이 맞지 않아 대기 /// </summary> /// <param name="session"></param> /// <param name="request"></param> /// <param name="responseStream"></param> /// <returns></returns> public static async Task WaitStartPlay(Session session, StartPlayRequest request, IServerStreamWriter <StartPlayReply> responseStream) { // 대기자로 등록 await MatchUser.RemoveMatchUser(session.user_no); await WaitingList.AddWaitingUser(new WaitingUser() { map_id = session.map_id, rank = session.rank }, session.user_no); }
public static async Task TestCache() { var u1 = new WaitingUser() { map_id = 1, rank = 1, }; var u2 = new WaitingUser() { map_id = 1, rank = 1, }; var u3 = new WaitingUser() { map_id = 1, rank = 1, }; var u4 = new WaitingUser() { map_id = 1, rank = 1, }; var u5 = new WaitingUser() { map_id = 1, rank = 1, }; await WaitingList.AddWaitingUser(u1, 1); await Task.Delay(10 * 1000); await WaitingList.AddWaitingUser(u2, 2); await WaitingList.AddWaitingUser(u3, 3); await WaitingList.AddWaitingUser(u4, 4); await WaitingList.AddWaitingUser(u5, 4); var ret1 = await WaitingList.GetWaitingUser(1, 1, 3); var ret2 = await WaitingList.GetWaitingUser(1, 1, 3); var ret3 = await WaitingList.RemoveWaitingUser(3); await WaitingList.RemoveWaitingUser(1, 1, 2); }