Esempio n. 1
0
        protected override async Task DeregisterNodeAsync(MemberEntry node)
        {
            var id = ServiceId(node.Address);
            await consul.Agent.ServiceDeregister(id);

            Log.Info("Deregistered node [{0}] from consul.", node);
        }
Esempio n. 2
0
 public string update(MemberEntry aMemberEntry)
 {
     try
     {
         aSqlConnection.Open();
         SqlCommand command = new SqlCommand("USPMemberInfoUpdation", aSqlConnection);
         command.CommandType = CommandType.StoredProcedure;
         command.Parameters.AddWithValue("@memberId", aMemberEntry.memberId);
         command.Parameters.AddWithValue("@memberName", aMemberEntry.name);
         command.Parameters.AddWithValue("@roomNo", aMemberEntry.roomNo);
         command.Parameters.AddWithValue("@address", aMemberEntry.address);
         command.Parameters.AddWithValue("@dateOfEntry", aMemberEntry.dateOfEntry);
         int effectedRows = command.ExecuteNonQuery();
         if (effectedRows > 0)
         {
             return(@"Memeber Information is updated");
         }
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
     finally
     {
         if (aSqlConnection != null && aSqlConnection.State == ConnectionState.Open)
         {
             aSqlConnection.Close();
         }
     }
     return("Error while updating member.");
 }
    /// <summary>
    ///
    /// </summary>
    public static T ParseDelegate <T>(string s) where T : class
    {
        MemberEntry member = ParseMember(s);

        if (member != null)
        {
            if (member.delegateValue == null)
            {
                if (member.memberType == FLAG_PROPERTY)
                {
                    if (member.propertyValue == null)
                    {
                        return(null);
                    }
                    member.methodValue = member.propertyValue.GetGetMethod(true);
                }
                try {
                    return((Delegate.CreateDelegate(typeof(T), member.objectValue, member.methodValue, true)) as T);
                }catch (Exception e) {
                    /*...*/
                }
            }
            else
            {
                return(member.delegateValue as T);
            }
        }
        return(default(T));
    }
Esempio n. 4
0
 public string save(MemberEntry aMemberEntry)
 {
     try
     {
         aSqlConnection.Open();
         SqlCommand command = new SqlCommand("USPInsertIntoMemberCode", aSqlConnection);
         command.CommandType = CommandType.StoredProcedure;
         command.Parameters.AddWithValue("@memberName", aMemberEntry.name);
         command.Parameters.AddWithValue("@roomNo", aMemberEntry.roomNo);
         command.Parameters.AddWithValue("@address", aMemberEntry.address);
         command.Parameters.AddWithValue("@dateOfEntry", aMemberEntry.dateOfEntry);
         int effectedRows = command.ExecuteNonQuery();
         if (effectedRows > 0)
         {
             return("Member saved successfully.");
         }
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
     finally
     {
         if (aSqlConnection != null && aSqlConnection.State == ConnectionState.Open)
         {
             aSqlConnection.Close();
         }
     }
     return("Error while saving member.");
 }
Esempio n. 5
0
 public string GetKeyNameForMemberEntry(int accountIndex, int saveIndex, MemberEntry memberEntry)
 {
     // if (memberEntry.isShared)
     //  return VALUE_SEPERATOR + saveableAndLoadable.UniqueId + VALUE_SEPERATOR + memberEntry.member.Name;
     // else
     return(accountIndex + VALUE_SEPERATOR + saveIndex + VALUE_SEPERATOR + saveableAndLoadable.UniqueId + VALUE_SEPERATOR + memberEntry.member.Name);
 }
Esempio n. 6
0
        private void AddBufferedMembers()
        {
            foreach (string name in _memberEntries.Keys)
            {
                List <MemberEntry> membersWithSameName = _memberEntries[name];

                MemberEntry entry = membersWithSameName[0];

                if (membersWithSameName.Count == 1)
                {
                    string preText = MaskIdentifier(name);
                    IntelliPromptMemberListItem item = new IntelliPromptMemberListItem(name, entry.ImageIndex, entry.Description, preText, String.Empty);
                    _members.Add(item);
                }
                else
                {
                    StringBuilder sb = new StringBuilder();
                    sb.Append("(Ambiguous name -- choose from the following:)");
                    foreach (MemberEntry entryWithSameName in membersWithSameName)
                    {
                        sb.Append("<br/>");
                        sb.Append(entryWithSameName.Description);
                    }

                    string description = sb.ToString();
                    string preText     = MaskIdentifier(name);
                    IntelliPromptMemberListItem item = new IntelliPromptMemberListItem(name, AMBIGUOUS_NAME_IMG_INDEX, description, preText, String.Empty);
                    _members.Add(item);
                }
            }
        }
Esempio n. 7
0
            internal void AddMember(object owner, MemberDescriptor member, bool absolute)
            {
                if (_closed)
                {
                    throw new InvalidOperationException("store is closed");
                }
                if (member == null)
                {
                    throw new ArgumentNullException("member");
                }
                if (owner == null)
                {
                    throw new ArgumentNullException("owner");
                }

                if (_objects == null)
                {
                    _objects = new Dictionary <string, ObjectEntry> ();
                }

                string objectName = GetName(owner);

                if (!_objects.ContainsKey(objectName))
                {
                    _objects.Add(objectName, new ObjectEntry(owner, objectName));
                }
                MemberEntry memberEntry = new MemberEntry(member);

                memberEntry.Absolute = absolute;
                _objects[objectName].Members[member.Name] = memberEntry;
            }
Esempio n. 8
0
        private void lengthReferenceToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_type != null)
            {
                if (listViewEntries.SelectedItems.Count > 0)
                {
                    MemberEntry      entry      = listViewEntries.SelectedItems[0].Tag as MemberEntry;
                    ArrayMemberEntry arrayEntry = null;

                    if (entry is IntegerPrimitiveMemberEntry)
                    {
                        arrayEntry = new ReferenceLengthPrimitiveArrayMemberEntry((IntegerPrimitiveMemberEntry)entry);
                    }
                    else if (entry is SequenceMemberEntry)
                    {
                        arrayEntry = new ReferenceLengthSequenceArrayMemberEntry((SequenceMemberEntry)entry);
                    }
                    else if (entry is IMemberReaderWriter)
                    {
                        arrayEntry = new ReferenceLengthGenericArrayMemberEntry((IMemberReaderWriter)entry);
                    }

                    if (arrayEntry != null)
                    {
                        _type.ReplaceMember(entry, arrayEntry);
                        listViewEntries.SelectedItems[0].Tag = arrayEntry;

                        UpdateType();
                        UpdateSelection();
                    }
                }
            }
        }
Esempio n. 9
0
        protected override async Task RegisterNodeAsync(MemberEntry node)
        {
            if (!node.Address.Port.HasValue)
            {
                throw new ArgumentException($"Cluster address {node.Address} doesn't have a port specified");
            }

            var address      = node.Address;
            var id           = ServiceId(address);
            var registration = new AgentServiceRegistration
            {
                ID      = id,
                Name    = node.ClusterName,
                Tags    = node.Roles.ToArray(),
                Address = node.Address.Host,
                Port    = node.Address.Port.Value,
                Check   = new AgentServiceCheck
                {
                    TTL = settings.ServiceCheckTtl,
                    DeregisterCriticalServiceAfter = settings.AliveTimeout,
                }
            };

            // first, try to deregister service, if it has been registered previously
            await consul.Agent.ServiceRegister(registration);

            Log.Info("Registered node [{0}] as consul service [{1}] (TTL: {2})", node, id, settings.AliveInterval);
        }
Esempio n. 10
0
        protected void lbStep2_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(ddlDomains.SelectedValue))
            {
                try
                {
                    AppsService      service    = new AppsService(ddlDomains.SelectedValue, UserContext.Current.Organization.GoogleAdminAuthToken);
                    AppsExtendedFeed groupsFeed = service.Groups.RetrieveAllGroups();

                    DataTable dt = new DataTable();
                    dt.Columns.Add(Resources.GoogleIntegrationControl_NameColumn_HeaderText, typeof(string));
                    dt.Columns.Add(Resources.GoogleIntegrationControl_IdColumn_HeaderText, typeof(string));
                    dt.Columns.Add(Resources.GoogleIntegrationControl_DescriptionColumn_HeaderText, typeof(string));
                    dt.Columns.Add(Resources.GoogleIntegrationControl_MembersColumn_HeaderText, typeof(string));

                    for (int i = 0; i < groupsFeed.Entries.Count; i++)
                    {
                        GroupEntry    groupEntry = groupsFeed.Entries[i] as GroupEntry;
                        MemberFeed    memberFeed = service.Groups.RetrieveAllMembers(groupEntry.GroupId);
                        StringBuilder sb         = new StringBuilder();

                        for (int j = 0; j < memberFeed.Entries.Count; j++)
                        {
                            MemberEntry memberEntry = memberFeed.Entries[j] as MemberEntry;
                            if (string.Compare(memberEntry.MemberId, "*", true) == 0)
                            {
                                sb.AppendFormat(Resources.GoogleIntegrationControl_MembersColumn_AllUsersValue);
                            }
                            else
                            {
                                sb.AppendFormat("{0}<br>", memberEntry.MemberId);
                            }
                        }

                        dt.Rows.Add(groupEntry.GroupName, groupEntry.GroupId, groupEntry.Description, sb.ToString());
                    }

                    gvStep2Results.DataSource = dt;
                    gvStep2Results.DataBind();

                    mvStep2.SetActiveView(vwStep2Result);
                }
                catch (AppsException a)
                {
                    lblStep2Error.Text = string.Format(CultureInfo.CurrentCulture, Resources.GoogleIntegrationControl_GoogleAppsError_Text, a.ErrorCode, a.InvalidInput, a.Reason);
                    mvStep2.SetActiveView(vwStep2Error);
                }
                catch (Exception ex)
                {
                    ShowError(ex, lblStep2Error, mvStep2, vwStep2Error);
                }
            }
            else
            {
                lblStep2Error.Text = Resources.GoogleIntegrationControl_DomainMisingError_Text;
                mvStep2.SetActiveView(vwStep2Error);
            }
        }
Esempio n. 11
0
 public EditMemberCodeEntryUI(MemberEntry aEditMemberEntry) : this()
 {
     this.memberIdTextBox.Text   = aEditMemberEntry.memberId.ToString();
     memberIdTextBox.Enabled     = false;
     this.memberNameTextBox.Text = aEditMemberEntry.name;
     this.roomNoTextBox.Text     = aEditMemberEntry.roomNo;
     this.addressTextBox.Text    = aEditMemberEntry.address;
     dateTimePicker1.Value       = aEditMemberEntry.dateOfEntry;
 }
Esempio n. 12
0
            public override bool Equals(object obj)
            {
                MemberEntry
                    fOther = obj as MemberEntry;

                if (fOther.IsNull())
                {
                    return(false);
                }
                return(this.Name.Equals(fOther.Name) &&
                       this.Datatype.Equals(fOther.Datatype) &&
                       this.ByteOffset.Equals(fOther.ByteOffset));
            }
Esempio n. 13
0
 public string save(MemberEntry aMemberEntry)
 {
     if ((aMemberEntry.name == string.Empty) || (aMemberEntry.roomNo == string.Empty) || (aMemberEntry.address == string.Empty))
     {
         return("please fill up all field");
     }
     else
     {
         MemberEntryValidator validator = new MemberEntryValidator();
         validator.validateNameAndRoomNumber(aMemberEntry.name, aMemberEntry.roomNo);
         return(aMemberCodeEntryGateway.save(aMemberEntry));
     }
 }
Esempio n. 14
0
        /// <summary>
        /// Adds a member to a group.
        /// </summary>
        /// <param name="memberId">Username of the member that is being added to the group</param>
        /// <param name="groupId">The group to which the member is being added</param>
        /// <returns>a <code>MemberEntry</code> containing the results of the
        /// creation</returns>
        public MemberEntry AddMemberToGroup(String memberId, String groupId)
        {
            String requestUri = String.Format("{0}/{1}/{2}/{3}",
                                              AppsGroupsNameTable.AppsGoogleGroupsBaseFeedUri,
                                              domain,
                                              groupId,
                                              AppsGroupsNameTable.member);

            MemberEntry entry = new MemberEntry();

            entry.MemberId = memberId;

            return(Insert(requestUri, entry));
        }
Esempio n. 15
0
        private ListViewItem AddMember(MemberEntry entry, bool editName)
        {
            ListViewItem item = listViewEntries.Items.Add(entry.Name);

            item.SubItems.Add(entry.TypeName);
            item.SubItems.Add(entry.GetSize().ToString());
            item.Tag = entry;

            if (editName)
            {
                item.BeginEdit();
            }

            return(item);
        }
Esempio n. 16
0
 private void saveButton_Click(object sender, EventArgs e)
 {
     try
     {
         MemberEntry aMemberEntry = new MemberEntry(memberNameTextBox.Text, roomNoTextBox.Text, addressTextBox.Text, dateTimePicker1.Value);
         string      msg          = aMemberCodeEntryBll.save(aMemberEntry);
         showDataInDataGridView();
         MessageBox.Show(msg, @"Message");
         clearTextBoxes();
         MemberCodeEntryUI_Load(0, null);
     }
     catch (Exception exception)
     {
         MessageBox.Show(exception.Message);
     }
 }
Esempio n. 17
0
        private void UpdateType()
        {
            listViewEntries.BeginUpdate();
            foreach (ListViewItem item in listViewEntries.Items)
            {
                MemberEntry entry = item.Tag as MemberEntry;

                if (entry != null)
                {
                    item.Text             = entry.Name;
                    item.SubItems[1].Text = entry.TypeName;
                    item.SubItems[2].Text = entry.GetSize().ToString();
                }
            }
            listViewEntries.EndUpdate();
        }
Esempio n. 18
0
		private void Add(string name, string fullname, string datatype, int imageIndex)
		{
            List<MemberEntry> membersWithSameName;
		    
            if (!_memberEntries.TryGetValue(name, out membersWithSameName))
			{
				membersWithSameName = new List<MemberEntry>();
				_memberEntries.Add(name, membersWithSameName);
			}

			MemberEntry entry = new MemberEntry();
			entry.Description = String.Format(CultureInfo.CurrentCulture, "<b>{0}</b> : {1}", fullname, datatype);
			entry.ImageIndex = imageIndex;

			membersWithSameName.Add(entry);
		}
Esempio n. 19
0
        private void Add(string name, string fullname, string datatype, int imageIndex)
        {
            List <MemberEntry> membersWithSameName;

            if (!_memberEntries.TryGetValue(name, out membersWithSameName))
            {
                membersWithSameName = new List <MemberEntry>();
                _memberEntries.Add(name, membersWithSameName);
            }

            MemberEntry entry = new MemberEntry();

            entry.Description = String.Format(CultureInfo.CurrentCulture, "<b>{0}</b> : {1}", fullname, datatype);
            entry.ImageIndex  = imageIndex;

            membersWithSameName.Add(entry);
        }
Esempio n. 20
0
 private void updateButton_Click(object sender, EventArgs e)
 {
     try
     {
         MemberCodeEntryBLL aMemberCodeEntryBll = new MemberCodeEntryBLL();
         MemberEntry        aMemberEntry        = new MemberEntry(Convert.ToInt32(memberIdTextBox.Text), memberNameTextBox.Text,
                                                                  roomNoTextBox.Text, addressTextBox.Text, dateTimePicker1.Value);
         string msg = aMemberCodeEntryBll.update(aMemberEntry);
         MessageBox.Show(msg, @"Message");
         Hide();
         new MemberCodeEntryUI().Show();
     }
     catch (Exception exception)
     {
         MessageBox.Show(exception.Message, @"Message");
     }
 }
Esempio n. 21
0
        private void convertToBaseToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_type != null)
            {
                if (listViewEntries.SelectedItems.Count > 0)
                {
                    ContainerMemberEntry entry = listViewEntries.SelectedItems[0].Tag as ContainerMemberEntry;

                    if (entry != null)
                    {
                        MemberEntry baseEntry = entry.DetachBaseEntry();
                        baseEntry.Name = entry.Name;
                        _type.ReplaceMember(entry, baseEntry);
                        listViewEntries.SelectedItems[0].Tag = baseEntry;

                        UpdateType();
                        UpdateSelection();
                    }
                }
            }
        }
Esempio n. 22
0
        private void listViewEntries_AfterLabelEdit(object sender, LabelEditEventArgs e)
        {
            ListViewItem item = listViewEntries.Items[e.Item];

            if (!String.IsNullOrEmpty(e.Label))
            {
                try
                {
                    MemberEntry entry = (MemberEntry)item.Tag;
                    entry.Name = e.Label;
                    propertyGrid.SelectedObject = entry;
                }
                catch (ArgumentException ex)
                {
                    MessageBox.Show(this, ex.Message, CANAPE.Properties.Resources.MessageBox_ErrorString, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    e.CancelEdit = true;
                }
            }

            deleteToolStripMenuItem.ShortcutKeys = Keys.Delete;
        }
Esempio n. 23
0
        /// <summary>
        /// Checks whether an user is a group member.
        /// </summary>
        /// <param name="memberEmail">Email of the member that is being checked</param>
        /// <param name="groupId">The ID of the group for which you wish to check the membership</param>
        /// <returns>True if the user is a member of the group, false otherwise</returns>
        public bool IsMember(String memberEmail, String groupId)
        {
            try {
                MemberEntry entry = RetrieveMember(memberEmail, groupId);
                return(entry != null);
            } catch (GDataRequestException e) {
                AppsException appsException = AppsException.ParseAppsException(e);
                if (appsException == null)
                {
                    return(false);
                }

                if (appsException.ErrorCode.Equals(AppsException.EntityDoesNotExist))
                {
                    return(false);
                }
                else
                {
                    throw appsException;
                }
            }
        }
Esempio n. 24
0
        private void memberCodeDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 6)
            {
                this.Hide();
                MemberEntry           aEditMemberEntry = aMemberCodeEntryList[e.RowIndex];
                EditMemberCodeEntryUI main             = new EditMemberCodeEntryUI(aEditMemberEntry);
                main.ShowDialog();
            }

            if (e.ColumnIndex == 7)
            {
                myId = Convert.ToString(memberCodeDataGridView.Rows[e.RowIndex].Cells["memberId"].Value);
                DialogResult result1 = MessageBox.Show(@"Are you sure you want to delete??", @"Question...", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result1 == DialogResult.Yes)
                {
                    string msg = aMemberCodeEntryBll.deleteAll(myId);
                    MessageBox.Show(msg);
                }

                showDataInDataGridView();
                memberCodeDataGridView.Refresh();
            }
        }
Esempio n. 25
0
 public System.Collections.Generic.List <DAO.MemberEntry> getMemberCodeInfo()
 {
     try
     {
         aSqlConnection.Open();
         SqlCommand command = new SqlCommand("uspMembers", aSqlConnection);
         command.CommandType = CommandType.StoredProcedure;
         SqlDataReader aReader = command.ExecuteReader();
         memberCodeList = new List <MemberEntry>();
         if (aReader.HasRows)
         {
             while (aReader.Read())
             {
                 MemberEntry aMemberEntry = new MemberEntry();
                 aMemberEntry.memberId    = Convert.ToInt32(aReader[0].ToString());
                 aMemberEntry.name        = aReader[1].ToString();
                 aMemberEntry.roomNo      = aReader[2].ToString();
                 aMemberEntry.address     = aReader[3].ToString();
                 aMemberEntry.dateOfEntry = (DateTime)aReader[4];
                 memberCodeList.Add(aMemberEntry);
             }
         }
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
     }
     finally
     {
         if (aSqlConnection != null && aSqlConnection.State == ConnectionState.Open)
         {
             aSqlConnection.Close();
         }
     }
     return(memberCodeList);
 }
Esempio n. 26
0
        private void contextMenuStrip_Opening(object sender, System.ComponentModel.CancelEventArgs e)
        {
            convertToEnumToolStripMenuItem.DropDownItems.Clear();
            addSequenceToolStripMenuItem.DropDownItems.Clear();

            if (Document != null)
            {
                foreach (ParserType type in Document.Types)
                {
                    if (type is EnumParserType)
                    {
                        ToolStripItem item = convertToEnumToolStripMenuItem.DropDownItems.Add(type.Name);
                        item.Tag    = type;
                        item.Click += new EventHandler(addEnum_Click);
                    }
                    else if (type is SequenceParserType)
                    {
                        // Ensure we cannot add the current sequence to itself (not sure if this is a use case?)
                        // Technically can still cause it issues
                        if (_type != type)
                        {
                            ToolStripItem item = addSequenceToolStripMenuItem.DropDownItems.Add(type.Name);
                            item.Tag    = type;
                            item.Click += new EventHandler(addSequence_Click);
                        }
                    }
                }
            }

            if (convertToEnumToolStripMenuItem.DropDownItems.Count == 0)
            {
                convertToEnumToolStripMenuItem.Enabled = false;
            }
            else
            {
                convertToEnumToolStripMenuItem.Enabled = true;
            }

            if (addSequenceToolStripMenuItem.DropDownItems.Count == 0)
            {
                addSequenceToolStripMenuItem.Enabled = false;
            }
            else
            {
                addSequenceToolStripMenuItem.Enabled = true;
            }

            // Limit to only primitive types atm
            if (listViewEntries.SelectedItems.Count > 0)
            {
                MemberEntry entry   = listViewEntries.SelectedItems[0].Tag as MemberEntry;
                bool        isArray = (entry is PrimitiveMemberEntry) || (entry is IMemberReaderWriter);
                convertToArrayToolStripMenuItem.Enabled      = isArray;
                convertToBooleanToolStripMenuItem.Enabled    = entry is IntegerPrimitiveMemberEntry;
                convertToEnumToolStripMenuItem.Enabled       = entry is IntegerPrimitiveMemberEntry;
                convertToBaseToolStripMenuItem.Enabled       = entry is ContainerMemberEntry;
                convertToCalculatedToolStripMenuItem.Enabled = (entry is IMemberReaderWriter) && !(entry is CalculatorMemberEntry);
                convertToSizedToolStripMenuItem.Enabled      = entry is IMemberReaderWriter;
                terminatedToolStripMenuItem.Enabled          = entry is IMemberReaderWriter;
            }
            else
            {
                convertToArrayToolStripMenuItem.Enabled      = false;
                convertToBooleanToolStripMenuItem.Enabled    = false;
                convertToEnumToolStripMenuItem.Enabled       = false;
                convertToBaseToolStripMenuItem.Enabled       = false;
                convertToCalculatedToolStripMenuItem.Enabled = false;
                convertToSizedToolStripMenuItem.Enabled      = false;
                terminatedToolStripMenuItem.Enabled          = false;
            }
        }
Esempio n. 27
0
 internal TsvColumnInfo(int index, MemberEntry <T> memberEntry, string format)
 {
     this.Index       = index;
     this.MemberEntry = memberEntry;
     this.Format      = format;
 }
			internal void AddMember (object owner, MemberDescriptor member, bool absolute)
			{
				if (_closed)
					throw new InvalidOperationException ("store is closed");
				if (member == null)
					throw new ArgumentNullException ("member");
				if (owner == null)
					throw new ArgumentNullException ("owner");

				if (_objects == null)
					_objects = new Dictionary <string, ObjectEntry> ();

				string objectName = GetName (owner);
				if (!_objects.ContainsKey (objectName))
					_objects.Add (objectName,  new ObjectEntry (owner, objectName));
				MemberEntry memberEntry = new MemberEntry (member);
				memberEntry.Absolute = absolute;
				_objects[objectName].Members[member.Name] = memberEntry;
			}
Esempio n. 29
0
 public string update(MemberEntry aMemberEntry)
 {
     new EditMemberCodeEntryValidator().isRoomNumberAndMemberNameValid(aMemberEntry.roomNo, aMemberEntry.name);
     return(aMemberCodeEntryGateway.update(aMemberEntry));
 }
Esempio n. 30
0
 protected override Task MarkAsAliveAsync(MemberEntry node) => Task.CompletedTask;
Esempio n. 31
0
 protected override async Task MarkAsAliveAsync(MemberEntry node)
 {
     var addr = node.Address;
     await consul.Agent.PassTTL("service:" + ServiceId(addr), string.Empty);
 }
Esempio n. 32
0
 protected override Task DeregisterNodeAsync(MemberEntry node) => Task.CompletedTask;