Exemple #1
0
 /// <summary>
 ///     Initialize All MessagesSent
 /// </summary>
 public void Clear()
 {
     LastSentMessages.Clear();
     DelayedMessages.Clear();
     _waitingMessagesCount = 0;
     Result.Clear();
     LostMessages.Clear();
     WaitingMessages.Clear();
     Result.Clear();
 }
Exemple #2
0
        public void DeQueueWaitingMessage(Message message)
        {
            if (message is null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            if (Debug)
            {
                lock (WaitingMessages)
                {
                    WaitingMessages.Remove(message);
                }
            }

            _waitingMessagesCount--;
            Result.ReceivedMessagesCount++;
            message.State = MessageState.Received;
        }
Exemple #3
0
        /// <summary>
        ///     Track all messages that are posting
        ///     Must be call before Mailbox.Post()
        /// </summary>
        /// <param name="message"></param>
        /// <param name="step"></param>
        public void EnQueueWaitingMessage(Message message, ushort step)
        {
            if (message is null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            if (Debug)
            {
                lock (WaitingMessages)
                {
                    WaitingMessages.Add(message);
                    LastSentMessages.Enqueue(message, step);
                }
            }

            _waitingMessagesCount++;
            message.State = MessageState.Sent;
        }