예제 #1
0
        /// <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);
        }
예제 #2
0
        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);
            }
        }