private void Init(string[] args)
{
m_NameHandleCallback = this.OnNameHandleChanged;
m_MsgCallback = this.OnMessage;
m_MsgResultCallback = this.OnMessageResultCallback;
m_CmdCallback = this.OnCommand;
m_LogHandler = this.OnCenterLog;
CenterClientApi.SetCenterLogHandler(m_LogHandler);
CenterClientApi.Init("datacache", args.Length, args, m_NameHandleCallback, m_MsgCallback, m_MsgResultCallback, m_CmdCallback);
m_Channel = new PBChannel(DataMessageEnum2Type.Query,
DataMessageEnum2Type.Query);
m_Channel.DefaultServiceName = "UserSvr";
LogSys.Init("./config/logconfig.xml");
DataCacheConfig.Init();
GlobalVariables.Instance.IsClient = false;
string key = "防君子不防小人";
byte[] xor = Encoding.UTF8.GetBytes(key);
ResourceReadProxy.OnReadAsArray = ((string filePath) => {
byte[] buffer = null;
try {
buffer = File.ReadAllBytes(filePath);
} catch (Exception e) {
LogSys.Log(LOG_TYPE.ERROR, "Exception:{0}\n{1}", e.Message, e.StackTrace);
return null;
}
return buffer;
});
LogSystem.OnOutput += (Log_Type type, string msg) => {
switch (type) {
case Log_Type.LT_Debug:
LogSys.Log(LOG_TYPE.DEBUG, msg);
break;
case Log_Type.LT_Info:
LogSys.Log(LOG_TYPE.INFO, msg);
break;
case Log_Type.LT_Warn:
LogSys.Log(LOG_TYPE.WARN, msg);
break;
case Log_Type.LT_Error:
case Log_Type.LT_Assert:
LogSys.Log(LOG_TYPE.ERROR, msg);
break;
}
};
DbThreadManager.Instance.Init(DataCacheConfig.LoadThreadNum, DataCacheConfig.SaveThreadNum);
DataOpSystem.Instance.Init(m_Channel);
DataCacheSystem.Instance.Init();
LogSys.Log(LOG_TYPE.INFO, "DataCache initialized");
}