From 6cfdac14daa2a71f7e8c92451573c604fed263db Mon Sep 17 00:00:00 2001 From: RogueException Date: Sun, 29 Nov 2015 12:30:22 -0400 Subject: [PATCH] Added GetCacheStats --- src/Discord.Net/DiscordClient.cs | 10 ++++++++++ src/Discord.Net/Helpers/AsyncCollection.cs | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net/DiscordClient.cs b/src/Discord.Net/DiscordClient.cs index 12e246ea6..8411eb14d 100644 --- a/src/Discord.Net/DiscordClient.cs +++ b/src/Discord.Net/DiscordClient.cs @@ -680,5 +680,15 @@ namespace Discord RaiseOnLog(LogMessageSeverity.Verbose, LogMessageSource.Client, $"Config: {JsonConvert.SerializeObject(_config)}"); _sentInitialLog = true; } + + public void GetCacheStats(out int serverCount, out int channelCount, out int userCount, out int uniqueUserCount, out int messageCount, out int roleCount) + { + serverCount = _servers.Count; + channelCount = _channels.Count; + userCount = _users.Count; + uniqueUserCount = _globalUsers.Count; + messageCount = _messages.Count; + roleCount = _roles.Count; + } } } \ No newline at end of file diff --git a/src/Discord.Net/Helpers/AsyncCollection.cs b/src/Discord.Net/Helpers/AsyncCollection.cs index f173eaefb..4c53e194f 100644 --- a/src/Discord.Net/Helpers/AsyncCollection.cs +++ b/src/Discord.Net/Helpers/AsyncCollection.cs @@ -24,7 +24,7 @@ namespace Discord public TKey NewId { get; } public CollectionItemRemappedEventArgs(TValue item, TKey oldId, TKey newId) { Item = item; OldId = oldId; NewId = newId; } } - + public EventHandler ItemCreated; private void RaiseItemCreated(TValue item) { @@ -54,6 +54,8 @@ namespace Discord protected readonly DiscordClient _client; protected readonly ConcurrentDictionary _dictionary; + public int Count => _dictionary.Count; + protected AsyncCollection(DiscordClient client, object writerLock) { _client = client;