コード例 #1
0
ファイル: PlainMailboxManager.cs プロジェクト: NeoTim/etch
 public void Unregister(Mailbox mb)
 {
     lock ( mailboxes )
     {
         mailboxes.Remove(mb.GetMessageId());
     }
 }
コード例 #2
0
ファイル: PlainMailboxManager.cs プロジェクト: NeoTim/etch
        /// <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);
            }
        }