public void UntrackGroup(IPeerGroup group) { if (group.ContainsPeer(Id)) { group.Exit(this, null); } lock (groups) groups.Remove(group); }
public void TrackGroup(IPeerGroup group) { if (!group.ContainsPeer(Id)) { throw new InvalidOperationException("Peer must join group before tracking."); } lock (groups) { if (!groups.Contains(group)) { groups.Add(group); } } }