Replaced all usages of ConcurrentDictionary with NonBlocking.ConcurrentDictionary

This commit is contained in:
Kwoth
2022-06-24 08:37:25 +00:00
parent dc846965ae
commit f398cddaf0
7 changed files with 157 additions and 790 deletions

View File

@@ -8,7 +8,7 @@ namespace NadekoBot.Modules.Administration.Services;
public class VcRoleService : INService
{
public ConcurrentDictionary<ulong, ConcurrentDictionary<ulong, IRole>> VcRoles { get; }
public ConcurrentDictionary<ulong, ConcurrentQueue<(bool, IGuildUser, IRole)>> ToAssign { get; }
public ConcurrentDictionary<ulong, System.Collections.Concurrent.ConcurrentQueue<(bool, IGuildUser, IRole)>> ToAssign { get; }
private readonly DbService _db;
private readonly DiscordSocketClient _client;
@@ -37,7 +37,7 @@ public class VcRoleService : INService
{
while (true)
{
Task Selector(ConcurrentQueue<(bool, IGuildUser, IRole)> queue)
Task Selector(System.Collections.Concurrent.ConcurrentQueue<(bool, IGuildUser, IRole)> queue)
{
return Task.Run(async () =>
{
@@ -203,7 +203,7 @@ public class VcRoleService : INService
private void Assign(bool v, SocketGuildUser gusr, IRole role)
{
var queue = ToAssign.GetOrAdd(gusr.Guild.Id, new ConcurrentQueue<(bool, IGuildUser, IRole)>());
var queue = ToAssign.GetOrAdd(gusr.Guild.Id, new System.Collections.Concurrent.ConcurrentQueue<(bool, IGuildUser, IRole)>());
queue.Enqueue((v, gusr, role));
}
}

View File

@@ -1,5 +1,6 @@
#nullable disable
using NadekoBot.Services.Database.Models;
using System.Collections.Concurrent;
namespace NadekoBot.Modules.Gambling.Common.Events;

View File

@@ -20,7 +20,7 @@ public class ReactionEvent : ICurrencyEvent
private readonly bool _isPotLimited;
private readonly ITextChannel _channel;
private readonly ConcurrentHashSet<ulong> _awardedUsers = new();
private readonly ConcurrentQueue<ulong> _toAward = new();
private readonly System.Collections.Concurrent.ConcurrentQueue<ulong> _toAward = new();
private readonly Timer _t;
private readonly Timer _timeout;
private readonly bool _noRecentlyJoinedServer;

View File

@@ -37,7 +37,7 @@ public class XpService : INService, IReadyExecutor, IExecNoCommand
private readonly ConcurrentDictionary<ulong, ConcurrentHashSet<ulong>> _excludedChannels;
private readonly ConcurrentHashSet<ulong> _excludedServers;
private readonly ConcurrentQueue<UserCacheItem> _addMessageXp = new();
private readonly System.Collections.Concurrent.ConcurrentQueue<UserCacheItem> _addMessageXp = new();
private XpTemplate template;
private readonly DiscordSocketClient _client;