/// <summary> /// Remove a peer from our data structures /// </summary> /// <param name="peer"></param> private void RemovePeer(ZyrePeer peer) { // Tell the calling application the peer has gone _outbox.SendMoreFrame("EXIT").SendMoreFrame(peer.Uuid.ToByteArray()).SendFrame(peer.Name); _loggerDelegate?.Invoke($"EXIT name={peer.Name} endpoint={peer.Endpoint}"); // Remove peer from any groups we've got it in foreach (var peerGroup in _peerGroups.Values) { RemovePeerFromGroup(peerGroup, peer); } _peers.Remove(peer.Uuid); peer.Destroy(); }
/// <summary> /// Remove a peer from our data structures /// </summary> /// <param name="peer"></param> private void RemovePeer(ZyrePeer peer) { // Tell the calling application the peer has gone _outbox.SendMoreFrame("EXIT").SendMoreFrame(peer.Uuid.ToByteArray()).SendFrame(peer.Name); _loggerDelegate?.Invoke($"EXIT name={peer.Name} endpoint={peer.Endpoint}"); // Remove peer from any groups we've got it in foreach (var peerGroup in _peerGroups.Values) { RemovePeerFromGroup(peerGroup, peer); } _peers.Remove(peer.Uuid); peer.Destroy(); }