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 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);

if (guild != null)


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

@@ -5,17 +5,17 @@ namespace Discord.WebSocket
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
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 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;
Token = token;
}

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

Loading…
Cancel
Save