/// <summary> /// Initialize all MessagesSent before stepNumber /// </summary> /// <param name="stepNumber"></param> public void ClearMessagesSent(ushort stepNumber) { if (NumberOfSteps == -1) { return; } LastSentMessages.ClearSteps(stepNumber - NumberOfSteps); }
/// <summary> /// Initialize All MessagesSent /// </summary> public void Clear() { LastSentMessages.Clear(); DelayedMessages.Clear(); _waitingMessagesCount = 0; Result.Clear(); LostMessages.Clear(); WaitingMessages.Clear(); Result.Clear(); }
/// <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; }
public List <Message> MessagesSentByAgent(ushort step, IAgentId agentId) { return(LastSentMessages.SentByAgent(step, agentId)); }
public List <Message> MessagesReceivedByAgent(ushort step, IAgentId agentId) { return(LastSentMessages.ReceivedByAgent(step, agentId)); }