Browse Source

Remove unnecessary DNXCore checks

tags/docs-0.9
Brandon Smith 9 years ago
parent
commit
999e62f81e
1 changed files with 6 additions and 36 deletions
  1. +6
    -36
      src/Discord.Net/DiscordVoiceSocket.cs

+ 6
- 36
src/Discord.Net/DiscordVoiceSocket.cs View File

@@ -33,8 +33,7 @@ namespace Discord
private ManualResetEventSlim _connectWaitOnLogin; private ManualResetEventSlim _connectWaitOnLogin;
private uint _ssrc; private uint _ssrc;
private readonly Random _rand = new Random(); private readonly Random _rand = new Random();

#if !DNXCORE50
private OpusEncoder _encoder; private OpusEncoder _encoder;
private ConcurrentQueue<Packet> _sendQueue; private ConcurrentQueue<Packet> _sendQueue;
private UdpClient _udp; private UdpClient _udp;
@@ -46,20 +45,16 @@ namespace Discord
private string _mode; private string _mode;
#if USE_THREAD #if USE_THREAD
private Thread _sendThread; private Thread _sendThread;
#endif
#endif #endif


public DiscordVoiceSocket(DiscordClient client, int timeout, int interval, bool isDebug) public DiscordVoiceSocket(DiscordClient client, int timeout, int interval, bool isDebug)
: base(client, timeout, interval, isDebug) : base(client, timeout, interval, isDebug)
{ {
_connectWaitOnLogin = new ManualResetEventSlim(false); _connectWaitOnLogin = new ManualResetEventSlim(false);
#if !DNXCORE50
_sendQueue = new ConcurrentQueue<Packet>(); _sendQueue = new ConcurrentQueue<Packet>();
_encoder = new OpusEncoder(48000, 1, 20, Application.Audio); _encoder = new OpusEncoder(48000, 1, 20, Application.Audio);
#endif
} }

#if !DNXCORE50
protected override void OnConnect() protected override void OnConnect()
{ {
_udp = new UdpClient(new IPEndPoint(IPAddress.Any, 0)); _udp = new UdpClient(new IPEndPoint(IPAddress.Any, 0));
@@ -77,21 +72,18 @@ namespace Discord
_sendThread = null; _sendThread = null;
#endif #endif
} }
#endif


protected override Task[] CreateTasks() protected override Task[] CreateTasks()
{ {
#if !DNXCORE50 && USE_THREAD
#if USE_THREAD
_sendThread = new Thread(new ThreadStart(() => SendAsync(_disconnectToken))); _sendThread = new Thread(new ThreadStart(() => SendAsync(_disconnectToken)));
_sendThread.Start(); _sendThread.Start();
#endif #endif
return new Task[] return new Task[]
{ {
#if !DNXCORE50
ReceiveAsync(), ReceiveAsync(),
#if !USE_THREAD #if !USE_THREAD
SendAsync(), SendAsync(),
#endif
#endif #endif
WatcherAsync() WatcherAsync()
}.Concat(base.CreateTasks()).ToArray(); }.Concat(base.CreateTasks()).ToArray();
@@ -122,8 +114,7 @@ namespace Discord


SetConnected(); SetConnected();
} }

#if !DNXCORE50
private async Task ReceiveAsync() private async Task ReceiveAsync()
{ {
var cancelSource = _disconnectToken; var cancelSource = _disconnectToken;
@@ -152,7 +143,6 @@ namespace Discord
var cancelSource = _disconnectToken; var cancelSource = _disconnectToken;
var cancelToken = cancelSource.Token; var cancelToken = cancelSource.Token;
await Task.Yield(); await Task.Yield();
#endif


Packet packet; Packet packet;
try try
@@ -231,30 +221,21 @@ namespace Discord
await Task.Delay(-1, cancelToken); await Task.Delay(-1, cancelToken);
} }
catch (TaskCanceledException) { } catch (TaskCanceledException) { }
#if !DNXCORE50
finally { _udp.Close(); } finally { _udp.Close(); }
#endif
} }

#if DNXCORE50
protected override Task ProcessMessage(string json)
#else
protected override async Task ProcessMessage(string json) protected override async Task ProcessMessage(string json)
#endif
{ {
var msg = JsonConvert.DeserializeObject<WebSocketMessage>(json); var msg = JsonConvert.DeserializeObject<WebSocketMessage>(json);
switch (msg.Operation) switch (msg.Operation)
{ {
case 2: //READY case 2: //READY
{ {
#if !DNXCORE50
if (!_isReady) if (!_isReady)
{ {
#endif
var payload = (msg.Payload as JToken).ToObject<VoiceWebSocketEvents.Ready>(); var payload = (msg.Payload as JToken).ToObject<VoiceWebSocketEvents.Ready>();
_heartbeatInterval = payload.HeartbeatInterval; _heartbeatInterval = payload.HeartbeatInterval;
_ssrc = payload.SSRC; _ssrc = payload.SSRC;
#if !DNXCORE50
_endpoint = new IPEndPoint((await Dns.GetHostAddressesAsync(_host)).FirstOrDefault(), payload.Port); _endpoint = new IPEndPoint((await Dns.GetHostAddressesAsync(_host)).FirstOrDefault(), payload.Port);
//_mode = payload.Modes.LastOrDefault(); //_mode = payload.Modes.LastOrDefault();
_mode = "plain"; _mode = "plain";
@@ -273,12 +254,8 @@ namespace Discord
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, 70); 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, 70);
} }
#else
_connectWaitOnLogin.Set();
#endif
} }
break; break;
#if !DNXCORE50
case 4: //SESSION_DESCRIPTION case 4: //SESSION_DESCRIPTION
{ {
var payload = (msg.Payload as JToken).ToObject<VoiceWebSocketEvents.JoinServer>(); var payload = (msg.Payload as JToken).ToObject<VoiceWebSocketEvents.JoinServer>();
@@ -287,17 +264,13 @@ namespace Discord
_connectWaitOnLogin.Set(); _connectWaitOnLogin.Set();
} }
break; break;
#endif
default: default:
if (_isDebug) if (_isDebug)
RaiseOnDebugMessage(DebugMessageType.WebSocketUnknownOpCode, "Unknown Opcode: " + msg.Operation); RaiseOnDebugMessage(DebugMessageType.WebSocketUnknownOpCode, "Unknown Opcode: " + msg.Operation);
break; break;
} }
#if DNXCORE50
return Task.CompletedTask;
#endif
} }
#if !DNXCORE50

private void ProcessUdpMessage(UdpReceiveResult msg) private void ProcessUdpMessage(UdpReceiveResult msg)
{ {
if (msg.Buffer.Length > 0 && msg.RemoteEndPoint.Equals(_endpoint)) if (msg.Buffer.Length > 0 && msg.RemoteEndPoint.Equals(_endpoint))
@@ -369,7 +342,6 @@ namespace Discord
if (length < 36) //12 + 24 if (length < 36) //12 + 24
throw new Exception($"Unexpected message length. Expected >= 36, got {length}."); throw new Exception($"Unexpected message length. Expected >= 36, got {length}.");


#if !DNXCORE50
byte[] nonce = new byte[24]; //16 bytes static, 8 bytes incrementing? byte[] nonce = new byte[24]; //16 bytes static, 8 bytes incrementing?
Buffer.BlockCopy(buffer, 12, nonce, 0, 24); Buffer.BlockCopy(buffer, 12, nonce, 0, 24);


@@ -377,7 +349,6 @@ namespace Discord
Buffer.BlockCopy(buffer, 36, cipherText, 0, cipherText.Length); Buffer.BlockCopy(buffer, 36, cipherText, 0, cipherText.Length);
Sodium.SecretBox.Open(cipherText, nonce, _secretKey); Sodium.SecretBox.Open(cipherText, nonce, _secretKey);
#endif
} }
else //Plain else //Plain
{ {
@@ -427,7 +398,6 @@ namespace Discord
isTalking.Payload.Delay = 0; isTalking.Payload.Delay = 0;
QueueMessage(isTalking); QueueMessage(isTalking);
} }
#endif


protected override object GetKeepAlive() protected override object GetKeepAlive()
{ {


Loading…
Cancel
Save