Inheritance: IDisposable
        /// <summary>
        /// 
        /// </summary>
        public new void Dispose()
        {
            m_buffManager.FreeBuffer(this);
            m_buffManager = null;

            base.Dispose();
        }
        /// <summary>
        /// 
        /// </summary>
        public AbstractSocketClient()
        {
            m_bufferManager = new BufferManager(1024, 1000);
            m_saeaRecvPool = new ObjectPool<PoolableSocketAsyncEventArgs>(() => new PoolableSocketAsyncEventArgs(m_bufferManager));
            m_saeaSendPool = new ObjectPool<SocketAsyncEventArgs>(() => new SocketAsyncEventArgs());
            m_connectSaea = new SocketAsyncEventArgs();
            m_connectSaea.Completed += IOCompleted;

            OnConnectedEvent += OnConnected;
            OnDisconnectedEvent += OnDisconnected;
        }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="bufferManager"></param>
 public PoolableSocketAsyncEventArgs(BufferManager bufferManager)
 {
     m_buffManager = bufferManager;
     m_buffManager.SetBuffer(this);
 }