Example #1
0
            void _Close(_TPeersExtIt itPeerExt_)
            {
                if (itPeerExt_.Data.NetKey)
                {
                    var itPeerNet = _PeersNet.Get((Int32)itPeerExt_.Data.NetKey.PeerNum);
                    if (itPeerNet)
                    {
                        itPeerNet.Data.ExtKey = null;

                        if (_Net.IsLinked(itPeerExt_.Data.NetKey.PeerNum))
                        {
                            _SendUnLink(itPeerExt_.Data.NetKey.PeerNum);
                        }
                        else
                        {
                            _Net.Close(itPeerExt_.Data.NetKey.PeerNum);
                        }
                    }
                }
                if (itPeerExt_.Data.itPeerWillExpire)
                {
                    _PeersWillExpire.Remove(itPeerExt_.Data.itPeerWillExpire);
                    itPeerExt_.Data.itPeerWillExpire = _PeersWillExpire.End();
                }

                _UnLink(itPeerExt_, ENetRet.UserClose);
            }