public void Unregister(Mailbox mb) { lock ( mailboxes ) { mailboxes.Remove(mb.GetMessageId()); } }
/// <summary> /// Adds a mailbox to the set of mailbox receiving responses /// to messages. /// </summary> /// <param name="mb"></param> public void Register(Mailbox mb) { long msgid = mb.GetMessageId(); lock (mailboxes) { if (!up) { throw new InvalidOperationException("connection down"); } if (mailboxes.ContainsKey(msgid)) { throw new ArgumentException("dup msgid in mailboxes"); } mailboxes.Add(msgid, mb); } }