private void ChallengeAnsweredCallback(RPCContext context) { ChallengeAnsweredResponse response = ChallengeAnsweredResponse.ParseFrom(context.Payload); if (response.IsInitialized) { ulong num = 0L; if (this.s_pendingAnswers.TryGetValue(context.Header.Token, out num)) { if (response.HasDoRetry && response.DoRetry) { BattleNet.DllChallengeInfo item = new BattleNet.DllChallengeInfo { challengeId = num, isRetry = true }; this.m_challengeUpdateList.Add(item); } this.s_pendingAnswers.Remove(context.Header.Token); } } }
private void ChallengeAnsweredCallback(RPCContext context) { ChallengeAnsweredResponse challengeAnsweredResponse = ChallengeAnsweredResponse.ParseFrom(context.Payload); if (!challengeAnsweredResponse.IsInitialized) { return; } ulong challengeId = 0UL; if (!this.s_pendingAnswers.TryGetValue(context.Header.Token, out challengeId)) { return; } if (challengeAnsweredResponse.HasDoRetry && challengeAnsweredResponse.DoRetry) { ChallengeInfo item = default(ChallengeInfo); item.challengeId = challengeId; item.isRetry = true; this.m_challengeUpdateList.Add(item); } this.s_pendingAnswers.Remove(context.Header.Token); }
public override void CallServerMethod(uint token, uint methodId, CodedInputStream stream) { switch (methodId) { case 1: { ChallengePickedRequest request = new ChallengePickedRequest(); request.MergeFrom(stream); ChallengePickedResponse response = new ChallengePickedResponse(); BattlenetRpcErrorCode status = HandleChallengePicked(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method ChallengeService.ChallengePicked(bgs.protocol.challenge.v1.ChallengePickedRequest: {1}) returned bgs.protocol.challenge.v1.ChallengePickedResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 2: { ChallengeAnsweredRequest request = new ChallengeAnsweredRequest(); request.MergeFrom(stream); ChallengeAnsweredResponse response = new ChallengeAnsweredResponse(); BattlenetRpcErrorCode status = HandleChallengeAnswered(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method ChallengeService.ChallengeAnswered(bgs.protocol.challenge.v1.ChallengeAnsweredRequest: {1}) returned bgs.protocol.challenge.v1.ChallengeAnsweredResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 3: { ChallengeCancelledRequest request = new ChallengeCancelledRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleChallengeCancelled(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method ChallengeService.ChallengeCancelled(bgs.protocol.challenge.v1.ChallengeCancelledRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 4: { SendChallengeToUserRequest request = new SendChallengeToUserRequest(); request.MergeFrom(stream); SendChallengeToUserResponse response = new SendChallengeToUserResponse(); BattlenetRpcErrorCode status = HandleSendChallengeToUser(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method ChallengeService.SendChallengeToUser(bgs.protocol.challenge.v1.SendChallengeToUserRequest: {1}) returned bgs.protocol.challenge.v1.SendChallengeToUserResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } default: Log.outError(LogFilter.ServiceProtobuf, "Bad method id {0}.", methodId); SendResponse(token, BattlenetRpcErrorCode.RpcInvalidMethod); break; } }
BattlenetRpcErrorCode HandleChallengeAnswered(ChallengeAnsweredRequest request, ChallengeAnsweredResponse response) { Log.outError(LogFilter.ServiceProtobuf, "{0} Client tried to call not implemented method ChallengeService.ChallengeAnswered: {1}", GetCallerInfo(), request.ToString()); return(BattlenetRpcErrorCode.RpcNotImplemented); }