Exemple #1
0
        public void Init(ServerAgentBase agentBase)
        {
            //Debug.Assert(false);
            mThread =
                new Thread(
                    () =>
            {
                while (!mQueue.IsAddingCompleted)
                {
                    ConnectData task = null;
                    try
                    {
                        task = mQueue.Take();
                    }
                    catch
                    {
                        // ...
                    }
                    if (task == null)
                    {
                        continue;
                    }

                    var t = DoTask(task, agentBase);
                }
            });

            mThread.Start();
        }
        public RequestManager(ServerAgentBase agentBase)
        {
            mAgentBase = agentBase;

            ServicePointManager.DefaultConnectionLimit = 50;
            ServicePointManager.ServerCertificateValidationCallback = (a, b, c, d) => true;
        }
 public bool Start(ServerAgentBase server)
 {
     foreach (var agent in Agents)
     {
         agent.Value.Start(server);
     }
     return(true);
 }
 public IEnumerator Tick(Coroutine co, ServerAgentBase server)
 {
     try
     {
         RankServerControl.Timer.Update();
     }
     catch (Exception ex)
     {
         Logger.Error(ex, "Tick error.");
     }
     try
     {
         RankServerMonitor.TickRate.Mark();
     }
     catch (Exception)
     {
     }
     return(null);
 }
Exemple #5
0
        private async Task DoTask(ConnectData data, ServerAgentBase agentBase)
        {
            try
            {
                switch (data.mType)
                {
                case ConnectDataType.GetData:
                {
                    var ret = await data.connect.GetWaittingResultOrderAsync();

                    data.resultOrder = ret;
                }
                break;

                case ConnectDataType.PushData:
                {
                    var ret = await data.connect.NewPreOrderAsync(data.preOrder);

                    data.returnValue = ret;
                }
                break;

                case ConnectDataType.ModifyData:
                {
                    await
                    data.connect.UpdateResultOrderByIdAsync(data.resultOrder.OrderId,
                                                            (eOrderState)data.resultOrder.State);
                }
                break;
                }
            }
            catch (Exception ex)
            {
                Logger.Error("PayDbManager NewPreOrder Exception {0} {1}", data.preOrder.OrderId, ex);
                data.mType = ConnectDataType.Error;
            }
            finally
            {
                agentBase.mWaitingEvents.Add(new ContinueEvent(data.coroutine));
            }
        }
Exemple #6
0
        public IEnumerator Tick(Coroutine coroutine, ServerAgentBase _this)
        {
            try
            {
                ActivityServerControl.Timer.Update();
                InAppPurchase.Update((ActivityServerControl)_this);
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "Tick error.");
            }

            try
            {
                ActivityServerMonitor.TickRate.Mark();
            }
            catch (Exception)
            {
            }
            return(null);
        }
Exemple #7
0
 public void Start(ServerAgentBase serverAgent)
 {
     mAgetntControl.Start(serverAgent);
 }