|
@@ -33,6 +33,8 @@ namespace Discord.Net |
|
|
private readonly ConcurrentQueue<MessageQueueItem> _pending; |
|
|
private readonly ConcurrentQueue<MessageQueueItem> _pending; |
|
|
private int _nextWarning; |
|
|
private int _nextWarning; |
|
|
|
|
|
|
|
|
|
|
|
public int Count { get; private set; } |
|
|
|
|
|
|
|
|
internal MessageQueue(DiscordClient client, Logger logger) |
|
|
internal MessageQueue(DiscordClient client, Logger logger) |
|
|
{ |
|
|
{ |
|
|
_client = client; |
|
|
_client = client; |
|
@@ -62,13 +64,13 @@ namespace Discord.Net |
|
|
{ |
|
|
{ |
|
|
await Task.Delay(interval).ConfigureAwait(false); |
|
|
await Task.Delay(interval).ConfigureAwait(false); |
|
|
|
|
|
|
|
|
int count = _pending.Count; |
|
|
|
|
|
if (count >= _nextWarning) |
|
|
|
|
|
|
|
|
Count = _pending.Count; |
|
|
|
|
|
if (Count >= _nextWarning) |
|
|
{ |
|
|
{ |
|
|
_nextWarning *= 2; |
|
|
_nextWarning *= 2; |
|
|
_logger.Warning($"Queue is backed up, currently at {count} messages."); |
|
|
|
|
|
|
|
|
_logger.Warning($"Queue is backed up, currently at {Count} messages."); |
|
|
} |
|
|
} |
|
|
else if (count < WarningStart) //Reset once the problem is solved |
|
|
|
|
|
|
|
|
else if (Count < WarningStart) //Reset once the problem is solved |
|
|
_nextWarning = WarningStart; |
|
|
_nextWarning = WarningStart; |
|
|
|
|
|
|
|
|
while (_pending.TryDequeue(out queuedMessage)) |
|
|
while (_pending.TryDequeue(out queuedMessage)) |
|
|