Beispiel #1
0
        /// <summary>
        /// 释放事件缓存中的事件数据包并清空事件缓存。
        /// </summary>
        /// <param name="eventDic">事件缓存。</param>
        private void ClearCache(Dictionary <string, List <EventData> > eventDic)
        {
            foreach (List <EventData> events in eventDic.Values)
            {
                foreach (EventData e in events)
                {
                    EventPool.Delete(e);
                }

                events.Clear();
            }
        }
Beispiel #2
0
        public void TestEventPool()
        {
            ListenerEventData le = null;

            for (int i = 0; i < 3; i++)
            {
                le = EventPool.New <ListenerEventData>();
            }

            AreEqual(EventPool.TotalCreated, 3);

            EventPool.New <ListenerEventData>();
            AreEqual(EventPool.TotalCreated, 4);

            EventPool.Delete(le);
            EventPool.New <ListenerEventData>();
            AreEqual(EventPool.TotalCreated, 4);

            AEventData ae = null;

            for (int i = 0; i < 3; i++)
            {
                ae = EventPool.New <AEventData>();
            }

            AreEqual(EventPool.TotalCreated, 7);

            EventPool.New <AEventData>();
            AreEqual(EventPool.TotalCreated, 8);

            EventPool.Delete(ae);
            EventPool.New <AEventData>();
            AreEqual(EventPool.TotalCreated, 8);

            EventPool.Delete(ae);
            EventPool.New <AEventData>();
            AreEqual(EventPool.TotalCreated, 8);

            EventPool.Delete(ae);
            EventPool.New <AEventData>();
            AreEqual(EventPool.TotalCreated, 8);
        }