void PacketHandler.Run(int credential, string payload)
        {
            HeartBeatResult heartBeatResultPay = new HeartBeatResult();
            string          resultPayload      = JsonFx.Json.JsonWriter.Serialize(heartBeatResultPay);

            resultPayload = Utils.Base64Encoding(resultPayload);

            Packet heartBeatResult = new Packet();

            heartBeatResult.m_Type       = (int)PacketTypes.PKT_SC_PONG;
            heartBeatResult.m_Payload    = resultPayload;
            heartBeatResult.m_Credential = credential;

            string resultPacket = JsonFx.Json.JsonWriter.Serialize(heartBeatResult);

            EasyGameServer.g_WorldManager.SendMessage(credential, resultPacket);
        }
 public HeartBeatTransaction(HeartBeatResult result)
 {
     this.Result        = result;
     this.ProcessThread = new Thread(() =>
     {
         try
         {
             if (result.Info != null)
             {
                 if (result.Info.Users != null)
                 {
                     foreach (var user in result.Info.Users)
                     {
                         Engine.GetEngine().Storage.InsertOrUpdateUser(user);
                     }
                 }
                 if (result.Info.Surpluses != null)
                 {
                     foreach (var surplus in result.Info.Surpluses)
                     {
                         Engine.GetEngine().Storage.UpdateSurplus(surplus);
                     }
                 }
                 if (result.Info.Tickets != null)
                 {
                     foreach (var ticket in result.Info.Tickets)
                     {
                         Engine.GetEngine().Storage.InsertOrUpdateTicket(ticket);
                     }
                 }
                 Log.Info(
                     String.Format("Heart beated. Updated or inserted {0} users, {1} surpluses, {2} tickets.",
                                   result.Info.Users != null ? result.Info.Users.Count : 0,
                                   result.Info.Surpluses != null ? result.Info.Surpluses.Count : 0,
                                   result.Info.Tickets != null ? result.Info.Tickets.Count : 0));
             }
             this.Status = TransactionStatus.Exhausted;
         }
         catch (Exception ex)
         {
             this.Status = TransactionStatus.Errored;
             Log.Error(String.Format("Heart beat encountered a bad error!", ex));
         }
     });
 }
Пример #3
0
 public HeartBeatResponse(HeartBeatRequest request, HeartBeatResult result) : base(request, result)
 {
 }
 public HeartBeatEventArgs(HeartBeatResult heartBeatResult)
 {
     this.HeartBeatResult = heartBeatResult;
 }