Browse Source

Use cacheable instead

pull/984/head
Devoxin 8 years ago
parent
commit
8e454fe46d
2 changed files with 7 additions and 5 deletions
  1. +3
    -1
      src/Discord.Net.WebSocket/DiscordSocketClient.cs
  2. +4
    -4
      src/Discord.Net.WebSocket/SocketVoiceServer.cs

+ 3
- 1
src/Discord.Net.WebSocket/DiscordSocketClient.cs View File

@@ -1464,8 +1464,10 @@ namespace Discord.WebSocket


var data = (payload as JToken).ToObject<VoiceServerUpdateEvent>(_serializer); var data = (payload as JToken).ToObject<VoiceServerUpdateEvent>(_serializer);
var guild = State.GetGuild(data.GuildId); var guild = State.GetGuild(data.GuildId);
var cacheable = new Cacheable<IGuild, ulong>(guild, data.GuildId, guild != null,
async () => (IGuild) await ApiClient.GetGuildAsync(data.GuildId));


var voiceServer = new SocketVoiceServer(data.GuildId, data.Endpoint, data.Token);
var voiceServer = new SocketVoiceServer(cacheable, data.GuildId, data.Endpoint, data.Token);
await TimedInvokeAsync(_voiceServerUpdatedEvent, nameof(UserVoiceStateUpdated), voiceServer).ConfigureAwait(false); await TimedInvokeAsync(_voiceServerUpdatedEvent, nameof(UserVoiceStateUpdated), voiceServer).ConfigureAwait(false);


if (guild != null) if (guild != null)


+ 4
- 4
src/Discord.Net.WebSocket/SocketVoiceServer.cs View File

@@ -5,17 +5,17 @@ namespace Discord.WebSocket
[DebuggerDisplay(@"{DebuggerDisplay,nq}")] [DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class SocketVoiceServer public class SocketVoiceServer
{ {
public ulong GuildId { get; private set; }
public Cacheable<IGuild, ulong> Guild { get; private set; }
public string Endpoint { get; private set; } public string Endpoint { get; private set; }
public string Token { get; private set; } public string Token { get; private set; }


internal SocketVoiceServer(ulong guildId, string endpoint, string token)
internal SocketVoiceServer(Cacheable<IGuild, ulong> guild, ulong guildId, string endpoint, string token)
{ {
GuildId = guildId;
Guild = guild;
Endpoint = endpoint; Endpoint = endpoint;
Token = token; Token = token;
} }


private string DebuggerDisplay => $"SocketVoiceServer ({GuildId})";
private string DebuggerDisplay => $"SocketVoiceServer ({Guild.Id})";
} }
} }

Loading…
Cancel
Save