void HandleCongestionBackoff() { if (ReceiveQueue.Count >= 1 && PreviousReceiveQueueLength == 0) { MessageJammed++; Trace.WriteLine(string.Format("congested at {0}", Id)); ReceiveQueue.ForEach(message => message.Source.SentMessageCount++); ReceivedMessageCount++; Thread.Sleep(BackoffPeriod); } PreviousReceiveQueueLength = ReceiveQueue.Count; }