public bool LoadFromBinary(string file) { long t1 = TimeUtility.GetElapsedTimeUs(); bool result = true; BinaryTable table = new BinaryTable(); table.Load(HomePath.GetAbsolutePath(file)); long t2 = TimeUtility.GetElapsedTimeUs(); long t3 = TimeUtility.GetElapsedTimeUs(); for (int index = 0; index < table.Records.Count; ++index) { try { TData data = new TData(); bool ret = data.ReadFromBinary(table, index); string info = string.Format("DataTableMgr.CollectDataFromBinary collectData Row:{0} failed!", index); LogSystem.Assert(ret, info); if (ret) { m_DataContainer.Add(data); } else { result = false; } } catch (System.Exception ex) { LogSystem.Error("CollectData failed. file:{0} rowIndex:{1}\nException:{2}\n{3}", file, index, ex.Message, ex.StackTrace); } } long t4 = TimeUtility.GetElapsedTimeUs(); LogSystem.Info("binary load {0} parse {1}, file {2}", t2 - t1, t4 - t3, file); return(result); }
private long DoCheckPoint_() { long curTime = TimeUtility.GetElapsedTimeUs(); long ret = curTime - m_LastSnapshotTime; m_LastSnapshotTime = curTime; return(ret); }
private long End_() { m_EndTime = TimeUtility.GetElapsedTimeUs(); return(m_EndTime - m_StartTime); }
private void Start_() { m_LastSnapshotTime = TimeUtility.GetElapsedTimeUs(); m_StartTime = m_LastSnapshotTime; }
private void IOHandler() { while (m_Status == RoomSrvStatus.STATUS_RUNNING) { try { m_NetServer.MessageReceivedEvent.WaitOne(1000); long startTime = TimeUtility.GetElapsedTimeUs(); NetIncomingMessage im; for (int ct = 0; ct < 1024; ++ct) { try { if ((im = m_NetServer.ReadMessage()) != null) { switch (im.MessageType) { case NetIncomingMessageType.DebugMessage: case NetIncomingMessageType.VerboseDebugMessage: LogSys.Log(LOG_TYPE.DEBUG, "Debug Message: {0}", im.ReadString()); break; case NetIncomingMessageType.ErrorMessage: LogSys.Log(LOG_TYPE.DEBUG, "Error Message: {0}", im.ReadString()); break; case NetIncomingMessageType.WarningMessage: LogSys.Log(LOG_TYPE.DEBUG, "Warning Message: {0}", im.ReadString()); break; case NetIncomingMessageType.StatusChanged: NetConnectionStatus status = (NetConnectionStatus)im.ReadByte(); string reason = im.ReadString(); if (null != im.SenderConnection) { RoomPeer peer = RoomPeerMgr.Instance.GetPeerByConnection(im.SenderConnection); if (null != peer) { LogSys.Log(LOG_TYPE.DEBUG, "Network Status Changed: {0} reason:{1} EndPoint:{2} Key:{3} User:{4}\nStatistic:{5}", status, reason, im.SenderEndPoint.ToString(), peer.GetKey(), peer.Guid, im.SenderConnection.Statistics.ToString()); } else { LogSys.Log(LOG_TYPE.DEBUG, "Network Status Changed: {0} reason:{1} EndPoint:{2}\nStatistic:{3}", status, reason, im.SenderEndPoint.ToString(), im.SenderConnection.Statistics.ToString()); } } else { LogSys.Log(LOG_TYPE.DEBUG, "Network Status Changed:{0} reason:{1}", status, reason); } break; case NetIncomingMessageType.Data: int id = 0; object msg = null; byte[] data = null; try { data = im.ReadBytes(im.LengthBytes); msg = Serialize.Decode(data, out id); } catch { if (null != im.SenderConnection) { RoomPeer peer = RoomPeerMgr.Instance.GetPeerByConnection(im.SenderConnection); if (null != peer) { LogSys.Log(LOG_TYPE.WARN, "room server decode message error !!! from User:{0}({1})", peer.Guid, peer.GetKey()); } } } if (msg != null) { m_Dispatch.Dispatch(id, msg, im.SenderConnection); } else { if (null != im.SenderConnection) { RoomPeer peer = RoomPeerMgr.Instance.GetPeerByConnection(im.SenderConnection); if (null != peer) { LogSys.Log(LOG_TYPE.DEBUG, "got unknow message !!! from User:{0}({1})", peer.Guid, peer.GetKey()); } else { LogSys.Log(LOG_TYPE.DEBUG, "got unknow message !!!"); } } else { LogSys.Log(LOG_TYPE.DEBUG, "got unknow message !!!"); } } break; default: break; } m_NetServer.Recycle(im); } else { break; } } catch (Exception ex) { LogSys.Log(LOG_TYPE.ERROR, "Exception {0}\n{1}", ex.Message, ex.StackTrace); } } RoomPeerMgr.Instance.Tick(); long endTime = TimeUtility.GetElapsedTimeUs(); if (endTime - startTime >= 10000) { LogSys.Log(LOG_TYPE.DEBUG, "Warning, IOHandler() cost {0} us !\nNetPeer Statistic:{1}", endTime - startTime, m_NetServer.Statistics.ToString()); } } catch (Exception ex) { LogSys.Log(LOG_TYPE.ERROR, "Exception {0}\n{1}", ex.Message, ex.StackTrace); } Thread.Sleep(10); } }