コード例 #1
0
        public void DestroySession(SessionBase session)
        {
            if (null == session)
            {
                Logger.Error("DestroySession session == null");
                return;
            }

            if (null != m_managerSAEA)
            {
                session.m_saeaReciver.UserToken = null;
                session.m_saeaSender.UserToken  = null;
                // 버퍼 셋팅도 다시 해줘야 하나? 최초 BufferManager에서 할당받은 위치겠지만
                m_managerSAEA.PushRecvSAEA(session.m_saeaReciver);
                m_managerSAEA.PushSendSAEA(session.m_saeaSender);
            }

            long id = session.GetNumber();

            m_keyGenerator.Free(id);
            //m_managerSession.Remove(session);
            if (null != m_fnAddSession)
            {
                m_fnRemoveSession(session);
            }

            //session = null;
            Logger.Debug(string.Format("DestroySession {0}", id));
        }