/// <summary> /// AegisNetwork 모듈을 초기화합니다. /// workerThreadCount와 dispatchThreadCount의 의미는 다음과 같습니다. /// -1 : 해당 작업을 AegisTask에서 실행됩니다. /// 0 : 해당 작업을 호출하는 쓰레드에서 실행됩니다. /// >0 : 정해진 ThreadPool에서 해당 작업이 실행됩니다. /// </summary> /// <param name="workerThreadCount">백그라운드에서 작업을 처리할 Thread 개수</param> /// <param name="dispatchThreadCount">작업결과를 전달할 Thread 개수</param> public static void Initialize(Int32 workerThreadCount = -1, Int32 dispatchThreadCount = 1) { _listNetworkConfig = new List<ConfigNetworkChannel>(); CustomData = new CustomData("CustomData"); SpinWorker.Initialize(workerThreadCount, dispatchThreadCount); }
private static void LoadCustomData(XmlNode node, CustomData customData) { foreach (XmlNode childNode in node.ChildNodes) { if (customData.GetChild(childNode.Name) != null) throw new AegisException(AegisResult.InvalidArgument, "Duplicate key({0}) in CustomData."); CustomData data = new CustomData(childNode.Name); customData.Childs.Add(data); foreach (XmlAttribute attr in childNode.Attributes) { CustomData childData = new CustomData(attr.Name, attr.Value); data.Childs.Add(childData); } LoadCustomData(childNode, data); } }