Esempio n. 1
0
        /// <summary>
        /// Removes the replicated member from any groups it is in
        /// </summary>
        /// <param name="Member">The member to remove</param>
        public void RemoveReplicatedMember(MDReplicatedMember Member)
        {
            if (Member.GetReplicatedType() != MDReplicatedType.Interval)
            {
                return;
            }

            foreach (HashSet <MDReplicatedMember> group in ReplicationGroups)
            {
                if (group.Contains(Member))
                {
                    group.Remove(Member);
                    break;
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Adds a replicated member to the group manager
        /// </summary>
        /// <param name="Member">The member to add</param>
        public void AddReplicatedMember(MDReplicatedMember Member)
        {
            if (Member.GetReplicatedType() != MDReplicatedType.Interval)
            {
                return;
            }

            int Group = -1;

            if (Member.ReplicationGroup != null)
            {
                Group = GetReplicationGroupByName(Member.ReplicationGroup);
            }
            else
            {
                Group = GetGroupWithLeastMembers();
            }

            ReplicationGroups[Group].Add(Member);
        }