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); }