Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/WebSocket/NativeWebSocket.cs
T
2026-04-08 23:40:05 +02:00

845 lines
34 KiB
C#

using System;
using System.Collections.Generic;
using System.Net.WebSockets;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using BestHTTP.Extensions;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.WebSocket
{
// Token: 0x020012CE RID: 4814
[Token(Token = "0x20012CE")]
[StructLayout(3)]
public class NativeWebSocket
{
// Token: 0x170013A4 RID: 5028
// (get) Token: 0x060078B0 RID: 30896 RVA: 0x00191954 File Offset: 0x0018FB54
// (set) Token: 0x060078B1 RID: 30897 RVA: 0x00191968 File Offset: 0x0018FB68
[Token(Token = "0x170013A4")]
public WebSocketStates State
{
[Token(Token = "0x60078B0")]
[Address(RVA = "0x421DE0", Offset = "0x4207E0", VA = "0x180421DE0")]
get;
[Token(Token = "0x60078B1")]
[Address(RVA = "0x421DF0", Offset = "0x4207F0", VA = "0x180421DF0")]
private set;
} = (WebSocketStates)((ulong)4L);
// Token: 0x060078B2 RID: 30898 RVA: 0x0019197C File Offset: 0x0018FB7C
[Token(Token = "0x60078B2")]
[Address(RVA = "0x6F0D40", Offset = "0x6EF740", VA = "0x1806F0D40")]
public NativeWebSocket(Uri uri)
{
ClientWebSocket clientWebSocket = new ClientWebSocket();
this._webSocket = clientWebSocket;
Queue<NativeWebSocket.OutboundMessage> queue = new Queue();
this._outboundMessageQueue = queue;
List<ArraySegment<byte>> list = new List();
this._inboundFrames = list;
List<byte[]> list2 = new List();
this._rentedBuffers = list2;
base..ctor();
bool flag = HTTPProtocolFactory.IsSecureProtocol(uri);
string text = "ws";
if (flag)
{
text = "wss";
}
if (uri.Port != -1)
{
int port = uri.Port;
}
bool flag2 = text.Equals("wss", StringComparison.OrdinalIgnoreCase);
object[] array = new object[6];
if (text != 0)
{
}
array[0] = text;
if ("://" != 0)
{
}
array[1] = "://";
string host = uri.Host;
if (host != 0)
{
}
array[2] = host;
if (":" != 0)
{
}
array[3] = ":";
int num;
if (num != 0)
{
}
array[4] = num;
string requestPathAndQueryURL = uri.GetRequestPathAndQueryURL();
if (requestPathAndQueryURL != 0)
{
}
array[5] = requestPathAndQueryURL;
Uri uri2 = new Uri(string.Concat(array));
this._uri = uri2;
if (BPHGKAEDBPE.KNJJNNNAEKB(uri2))
{
bool flag3 = DBPPLLLMEGJ.CMJMEEHMHJO(delegate(byte[] token, int length)
{
string @string = Encoding.UTF8.GetString(token);
string text2 = "Bearer " + @string;
this._webSocket._options.SetRequestHeader("Authorization", text2);
});
}
}
// Token: 0x060078B3 RID: 30899 RVA: 0x00191AC0 File Offset: 0x0018FCC0
[Token(Token = "0x60078B3")]
[Address(RVA = "0x6F0C60", Offset = "0x6EF660", VA = "0x1806F0C60")]
public void SetHeader(string name, string value)
{
this._webSocket._options.SetRequestHeader(name, value);
}
// Token: 0x060078B4 RID: 30900 RVA: 0x00191AE8 File Offset: 0x0018FCE8
[Token(Token = "0x60078B4")]
[Address(RVA = "0x6F02A0", Offset = "0x6EECA0", VA = "0x1806F02A0")]
public void Open()
{
Action defaultContextAction = AsyncVoidMethodBuilder.Create().m_coreState.m_defaultContextAction;
}
// Token: 0x060078B5 RID: 30901 RVA: 0x00191B08 File Offset: 0x0018FD08
[Token(Token = "0x60078B5")]
[Address(RVA = "0x6F01E0", Offset = "0x6EEBE0", VA = "0x1806F01E0")]
public void Close()
{
Action defaultContextAction = AsyncVoidMethodBuilder.Create().m_coreState.m_defaultContextAction;
}
// Token: 0x060078B6 RID: 30902 RVA: 0x00191B28 File Offset: 0x0018FD28
[Token(Token = "0x60078B6")]
[Address(RVA = "0x6F0110", Offset = "0x6EEB10", VA = "0x1806F0110")]
private Task CloseInternal()
{
}
// Token: 0x060078B7 RID: 30903 RVA: 0x00191B38 File Offset: 0x0018FD38
[Token(Token = "0x60078B7")]
[Address(RVA = "0x6F0AE0", Offset = "0x6EF4E0", VA = "0x1806F0AE0")]
public void Send(string message)
{
this._webSocket.Dispose();
Queue<NativeWebSocket.OutboundMessage> outboundMessageQueue = this._outboundMessageQueue;
int num = 0;
outboundMessageQueue.Enqueue(num);
bool flag = this._outboundMessagePendingEvent.Set();
}
// Token: 0x060078B8 RID: 30904 RVA: 0x00191B74 File Offset: 0x0018FD74
[Token(Token = "0x60078B8")]
[Address(RVA = "0x6F0BA0", Offset = "0x6EF5A0", VA = "0x1806F0BA0")]
public void Send(byte[] message)
{
this._webSocket.Dispose();
Queue<NativeWebSocket.OutboundMessage> outboundMessageQueue = this._outboundMessageQueue;
bool flag = this._outboundMessagePendingEvent.Set();
}
// Token: 0x060078B9 RID: 30905 RVA: 0x00191BA8 File Offset: 0x0018FDA8
[Token(Token = "0x60078B9")]
[Address(RVA = "0x6F0A00", Offset = "0x6EF400", VA = "0x1806F0A00")]
private Task SendLoop(CancellationToken cancellationToken)
{
}
// Token: 0x060078BA RID: 30906 RVA: 0x00191BB8 File Offset: 0x0018FDB8
[Token(Token = "0x60078BA")]
[Address(RVA = "0x6F0350", Offset = "0x6EED50", VA = "0x1806F0350")]
private Task ReceiveLoop()
{
}
// Token: 0x060078BB RID: 30907 RVA: 0x00191BC8 File Offset: 0x0018FDC8
[Token(Token = "0x60078BB")]
[Address(RVA = "0x6F0420", Offset = "0x6EEE20", VA = "0x1806F0420")]
private Task<NativeWebSocket.InboundMessage> Receive()
{
/*
An exception occurred when decompiling this method (060078BB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Threading.Tasks.Task`1<BestHTTP.WebSocket.NativeWebSocket/InboundMessage> BestHTTP.WebSocket.NativeWebSocket::Receive()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:AsyncTaskMethodBuilder`1(var_3_0B, call:AsyncTaskMethodBuilder`1(AsyncTaskMethodBuilder`1::Create))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x060078BC RID: 30908 RVA: 0x00191BE0 File Offset: 0x0018FDE0
[Token(Token = "0x60078BC")]
[Address(RVA = "0x6F0940", Offset = "0x6EF340", VA = "0x1806F0940")]
private void SafeRaiseOnOpen()
{
NativeWebSocket.OnWebSocketOpenDelegate onOpen = this.OnOpen;
if (onOpen != 0)
{
onOpen(this);
}
ILogger logger = HTTPManager.Logger;
}
// Token: 0x060078BD RID: 30909 RVA: 0x00191C10 File Offset: 0x0018FE10
[Token(Token = "0x60078BD")]
[Address(RVA = "0x6F0870", Offset = "0x6EF270", VA = "0x1806F0870")]
private void SafeRaiseOnMessage(string message)
{
NativeWebSocket.OnWebSocketMessageDelegate onMessage = this.OnMessage;
if (onMessage != 0)
{
onMessage(this, message);
}
ILogger logger = HTTPManager.Logger;
}
// Token: 0x060078BE RID: 30910 RVA: 0x00191C40 File Offset: 0x0018FE40
[Token(Token = "0x60078BE")]
[Address(RVA = "0x6F0510", Offset = "0x6EEF10", VA = "0x1806F0510")]
private void SafeRaiseOnBinary(byte[] message)
{
NativeWebSocket.OnWebSocketBinaryDelegate onBinary = this.OnBinary;
if (onBinary != 0)
{
onBinary(this, message);
}
ILogger logger = HTTPManager.Logger;
}
// Token: 0x060078BF RID: 30911 RVA: 0x00191C70 File Offset: 0x0018FE70
[Token(Token = "0x60078BF")]
[Address(RVA = "0x6F05E0", Offset = "0x6EEFE0", VA = "0x1806F05E0")]
private void SafeRaiseOnClosed(ushort statusCode, string statusMessage)
{
NativeWebSocket.OnWebSocketClosedDelegate onClosed = this.OnClosed;
if (onClosed != 0)
{
onClosed(this, statusCode, statusMessage);
}
ILogger logger = HTTPManager.Logger;
}
// Token: 0x060078C0 RID: 30912 RVA: 0x00191CA0 File Offset: 0x0018FEA0
[Token(Token = "0x60078C0")]
[Address(RVA = "0x6F07A0", Offset = "0x6EF1A0", VA = "0x1806F07A0")]
private void SafeRaiseOnError(Exception exception)
{
NativeWebSocket.OnWebSocketErrorDelegate onError = this.OnError;
if (onError != 0)
{
onError(this, exception);
}
ILogger logger = HTTPManager.Logger;
}
// Token: 0x060078C1 RID: 30913 RVA: 0x00191CD0 File Offset: 0x0018FED0
[Token(Token = "0x60078C1")]
[Address(RVA = "0x6F06D0", Offset = "0x6EF0D0", VA = "0x1806F06D0")]
private void SafeRaiseOnErrorDesc(string errorDescription)
{
NativeWebSocket.OnWebSocketErrorDescriptionDelegate onErrorDesc = this.OnErrorDesc;
if (onErrorDesc != 0)
{
onErrorDesc(this, errorDescription);
}
ILogger logger = HTTPManager.Logger;
}
// Token: 0x04005707 RID: 22279
[Token(Token = "0x4005707")]
private const int MaxFragmentSize = 32767;
// Token: 0x04005708 RID: 22280
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4005708")]
public NativeWebSocket.OnWebSocketOpenDelegate OnOpen;
// Token: 0x04005709 RID: 22281
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4005709")]
public NativeWebSocket.OnWebSocketMessageDelegate OnMessage;
// Token: 0x0400570A RID: 22282
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400570A")]
public NativeWebSocket.OnWebSocketBinaryDelegate OnBinary;
// Token: 0x0400570B RID: 22283
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400570B")]
public NativeWebSocket.OnWebSocketClosedDelegate OnClosed;
// Token: 0x0400570C RID: 22284
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400570C")]
public NativeWebSocket.OnWebSocketErrorDelegate OnError;
// Token: 0x0400570D RID: 22285
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400570D")]
public NativeWebSocket.OnWebSocketErrorDescriptionDelegate OnErrorDesc;
// Token: 0x0400570F RID: 22287
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x400570F")]
private readonly Uri _uri;
// Token: 0x04005710 RID: 22288
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x4005710")]
private readonly ClientWebSocket _webSocket;
// Token: 0x04005711 RID: 22289
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x4005711")]
private readonly Queue<NativeWebSocket.OutboundMessage> _outboundMessageQueue;
// Token: 0x04005712 RID: 22290
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x4005712")]
private readonly List<ArraySegment<byte>> _inboundFrames;
// Token: 0x04005713 RID: 22291
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x4005713")]
private readonly List<byte[]> _rentedBuffers;
// Token: 0x04005714 RID: 22292
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
[Token(Token = "0x4005714")]
private CancellationTokenSource _sendLoopCancellationTokenSource;
// Token: 0x04005715 RID: 22293
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
[Token(Token = "0x4005715")]
private AutoResetEvent _outboundMessagePendingEvent;
// Token: 0x020012CF RID: 4815
[Token(Token = "0x20012CF")]
private struct OutboundMessage
{
// Token: 0x060078C3 RID: 30915 RVA: 0x00191D44 File Offset: 0x0018FF44
[Token(Token = "0x60078C3")]
[Address(RVA = "0x141E0", Offset = "0x135E0", VA = "0x1800141E0")]
public OutboundMessage(byte[] binaryMessage)
{
this.TextMessage = (ulong)1L;
}
// Token: 0x060078C4 RID: 30916 RVA: 0x00191D5C File Offset: 0x0018FF5C
[Token(Token = "0x60078C4")]
[Address(RVA = "0x14200", Offset = "0x13600", VA = "0x180014200")]
public OutboundMessage(string textMessage)
{
int num = 0;
this.TextMessage = num;
}
// Token: 0x04005716 RID: 22294
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4005716")]
public readonly WebSocketMessageType MessageType;
// Token: 0x04005717 RID: 22295
[global::Cpp2IlInjected.FieldOffset(Offset = "0x8")]
[Token(Token = "0x4005717")]
public readonly byte[] BinaryMessage;
// Token: 0x04005718 RID: 22296
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4005718")]
public readonly string TextMessage;
}
// Token: 0x020012D0 RID: 4816
[Token(Token = "0x20012D0")]
private struct InboundMessage
{
// Token: 0x060078C5 RID: 30917 RVA: 0x00191D74 File Offset: 0x0018FF74
[Token(Token = "0x60078C5")]
[Address(RVA = "0x14130", Offset = "0x13530", VA = "0x180014130")]
public InboundMessage(byte[] binaryMessage)
{
this.CloseStatus = binaryMessage;
int num = 0;
this.TextMessage = (ulong)1L;
this.CloseStatusDescription = num;
}
// Token: 0x060078C6 RID: 30918 RVA: 0x00191D9C File Offset: 0x0018FF9C
[Token(Token = "0x60078C6")]
[Address(RVA = "0x14110", Offset = "0x13510", VA = "0x180014110")]
public InboundMessage(string textMessage)
{
int num = 0;
this.CloseStatusDescription = textMessage;
this.TextMessage = num;
this.CloseStatus = num;
}
// Token: 0x060078C7 RID: 30919 RVA: 0x00191DC4 File Offset: 0x0018FFC4
[Token(Token = "0x60078C7")]
[Address(RVA = "0x14150", Offset = "0x13550", VA = "0x180014150")]
public InboundMessage(WebSocketCloseStatus? closeStatus, string closeStatusDescription)
{
int num = 0;
this.TextMessage = (ulong)2L;
this.CloseStatus = num;
this.CloseStatusDescription = num;
}
// Token: 0x04005719 RID: 22297
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4005719")]
public readonly WebSocketMessageType MessageType;
// Token: 0x0400571A RID: 22298
[global::Cpp2IlInjected.FieldOffset(Offset = "0x8")]
[Token(Token = "0x400571A")]
public readonly byte[] BinaryMessage;
// Token: 0x0400571B RID: 22299
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400571B")]
public readonly string TextMessage;
// Token: 0x0400571C RID: 22300
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400571C")]
public readonly WebSocketCloseStatus? CloseStatus;
// Token: 0x0400571D RID: 22301
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400571D")]
public readonly string CloseStatusDescription;
}
// Token: 0x020012D1 RID: 4817
[Token(Token = "0x20012D1")]
public sealed class OnWebSocketOpenDelegate : MulticastDelegate
{
// Token: 0x060078C8 RID: 30920 RVA: 0x00191DEC File Offset: 0x0018FFEC
[Token(Token = "0x60078C8")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public OnWebSocketOpenDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x060078C9 RID: 30921 RVA: 0x00191E08 File Offset: 0x00190008
[Token(Token = "0x60078C9")]
[Address(RVA = "0x6F1D00", Offset = "0x6F0700", VA = "0x1806F1D00", Slot = "13")]
public void Invoke(NativeWebSocket webSocket)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x060078CA RID: 30922 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078CA")]
[Address(RVA = "0x42BD30", Offset = "0x42A730", VA = "0x18042BD30", Slot = "14")]
public IAsyncResult BeginInvoke(NativeWebSocket webSocket, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060078CB RID: 30923 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078CB")]
[Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x020012D2 RID: 4818
[Token(Token = "0x20012D2")]
public sealed class OnWebSocketMessageDelegate : MulticastDelegate
{
// Token: 0x060078CC RID: 30924 RVA: 0x00191EC4 File Offset: 0x001900C4
[Token(Token = "0x60078CC")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public OnWebSocketMessageDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x060078CD RID: 30925 RVA: 0x00191EE0 File Offset: 0x001900E0
[Token(Token = "0x60078CD")]
[Address(RVA = "0x6F2630", Offset = "0x6F1030", VA = "0x1806F2630", Slot = "13")]
public void Invoke(NativeWebSocket webSocket, string message)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x060078CE RID: 30926 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078CE")]
[Address(RVA = "0x4330B0", Offset = "0x431AB0", VA = "0x1804330B0", Slot = "14")]
public IAsyncResult BeginInvoke(NativeWebSocket webSocket, string message, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060078CF RID: 30927 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078CF")]
[Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x020012D3 RID: 4819
[Token(Token = "0x20012D3")]
public sealed class OnWebSocketBinaryDelegate : MulticastDelegate
{
// Token: 0x060078D0 RID: 30928 RVA: 0x00191F40 File Offset: 0x00190140
[Token(Token = "0x60078D0")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public OnWebSocketBinaryDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x060078D1 RID: 30929 RVA: 0x00191F5C File Offset: 0x0019015C
[Token(Token = "0x60078D1")]
[Address(RVA = "0x6F1930", Offset = "0x6F0330", VA = "0x1806F1930", Slot = "13")]
public void Invoke(NativeWebSocket webSocket, byte[] data)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x060078D2 RID: 30930 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078D2")]
[Address(RVA = "0x4330B0", Offset = "0x431AB0", VA = "0x1804330B0", Slot = "14")]
public IAsyncResult BeginInvoke(NativeWebSocket webSocket, byte[] data, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060078D3 RID: 30931 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078D3")]
[Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x020012D4 RID: 4820
[Token(Token = "0x20012D4")]
public sealed class OnWebSocketClosedDelegate : MulticastDelegate
{
// Token: 0x060078D4 RID: 30932 RVA: 0x0019202C File Offset: 0x0019022C
[Token(Token = "0x60078D4")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public OnWebSocketClosedDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x060078D5 RID: 30933 RVA: 0x00192048 File Offset: 0x00190248
[Token(Token = "0x60078D5")]
[Address(RVA = "0x6F21C0", Offset = "0x6F0BC0", VA = "0x1806F21C0", Slot = "13")]
public void Invoke(NativeWebSocket webSocket, ushort code, string message)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x060078D6 RID: 30934 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078D6")]
[Address(RVA = "0x6F2080", Offset = "0x6F0A80", VA = "0x1806F2080", Slot = "14")]
public IAsyncResult BeginInvoke(NativeWebSocket webSocket, ushort code, string message, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060078D7 RID: 30935 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078D7")]
[Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x020012D5 RID: 4821
[Token(Token = "0x20012D5")]
public sealed class OnWebSocketErrorDelegate : MulticastDelegate
{
// Token: 0x060078D8 RID: 30936 RVA: 0x001920F4 File Offset: 0x001902F4
[Token(Token = "0x60078D8")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public OnWebSocketErrorDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x060078D9 RID: 30937 RVA: 0x00192110 File Offset: 0x00190310
[Token(Token = "0x60078D9")]
[Address(RVA = "0x6F1930", Offset = "0x6F0330", VA = "0x1806F1930", Slot = "13")]
public void Invoke(NativeWebSocket webSocket, Exception ex)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x060078DA RID: 30938 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078DA")]
[Address(RVA = "0x4330B0", Offset = "0x431AB0", VA = "0x1804330B0", Slot = "14")]
public IAsyncResult BeginInvoke(NativeWebSocket webSocket, Exception ex, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060078DB RID: 30939 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078DB")]
[Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x020012D6 RID: 4822
[Token(Token = "0x20012D6")]
public sealed class OnWebSocketErrorDescriptionDelegate : MulticastDelegate
{
// Token: 0x060078DC RID: 30940 RVA: 0x001921D4 File Offset: 0x001903D4
[Token(Token = "0x60078DC")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public OnWebSocketErrorDescriptionDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x060078DD RID: 30941 RVA: 0x001921F0 File Offset: 0x001903F0
[Token(Token = "0x60078DD")]
[Address(RVA = "0x6F2630", Offset = "0x6F1030", VA = "0x1806F2630", Slot = "13")]
public void Invoke(NativeWebSocket webSocket, string reason)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x060078DE RID: 30942 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078DE")]
[Address(RVA = "0x4330B0", Offset = "0x431AB0", VA = "0x1804330B0", Slot = "14")]
public IAsyncResult BeginInvoke(NativeWebSocket webSocket, string reason, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060078DF RID: 30943 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078DF")]
[Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x020012D7 RID: 4823
[Token(Token = "0x20012D7")]
public static class WaitHandleAsyncFactory
{
// Token: 0x060078E0 RID: 30944 RVA: 0x00192250 File Offset: 0x00190450
[Token(Token = "0x60078E0")]
[Address(RVA = "0x6F7FF0", Offset = "0x6F69F0", VA = "0x1806F7FF0")]
public static Task FromWaitHandle(WaitHandle handle)
{
}
// Token: 0x060078E1 RID: 30945 RVA: 0x00192260 File Offset: 0x00190460
[Token(Token = "0x60078E1")]
[Address(RVA = "0x6F7C80", Offset = "0x6F6680", VA = "0x1806F7C80")]
public static Task<bool> FromWaitHandle(WaitHandle handle, TimeSpan timeout)
{
Task<bool> task;
return task;
}
// Token: 0x060078E2 RID: 30946 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60078E2")]
[Address(RVA = "0x6F7BE0", Offset = "0x6F65E0", VA = "0x1806F7BE0")]
public static Task FromWaitHandle(WaitHandle handle, CancellationToken token)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060078E3 RID: 30947 RVA: 0x00192270 File Offset: 0x00190470
[Token(Token = "0x60078E3")]
[Address(RVA = "0x6F7D20", Offset = "0x6F6720", VA = "0x1806F7D20")]
public static Task<bool> FromWaitHandle(WaitHandle handle, TimeSpan timeout, CancellationToken token)
{
/*
An exception occurred when decompiling this method (060078E3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Threading.Tasks.Task`1<System.Boolean> BestHTTP.WebSocket.NativeWebSocket/WaitHandleAsyncFactory::FromWaitHandle(System.Threading.WaitHandle,System.TimeSpan,System.Threading.CancellationToken)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_3C:
stloc:ArgumentNullException(var_7_46, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("handle")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x060078E4 RID: 30948 RVA: 0x001922C4 File Offset: 0x001904C4
[Token(Token = "0x60078E4")]
[Address(RVA = "0x6F7AE0", Offset = "0x6F64E0", VA = "0x1806F7AE0")]
private static Task<bool> DoFromWaitHandle(WaitHandle handle, TimeSpan timeout, CancellationToken token)
{
/*
An exception occurred when decompiling this method (060078E4)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Threading.Tasks.Task`1<System.Boolean> BestHTTP.WebSocket.NativeWebSocket/WaitHandleAsyncFactory::DoFromWaitHandle(System.Threading.WaitHandle,System.TimeSpan,System.Threading.CancellationToken)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:AsyncTaskMethodBuilder`1(var_1_07, call:AsyncTaskMethodBuilder`1(AsyncTaskMethodBuilder`1::Create))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x060078E5 RID: 30949 RVA: 0x001922D8 File Offset: 0x001904D8
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x60078E5")]
[Address(RVA = "0x6F80C0", Offset = "0x6F6AC0", VA = "0x1806F80C0")]
static WaitHandleAsyncFactory()
{
Task<bool> task = Task.FromResult<bool>(true);
int num = 0;
NativeWebSocket.WaitHandleAsyncFactory.CompletedTaskTrue = task;
NativeWebSocket.WaitHandleAsyncFactory.CompletedTaskFalse = Task.FromResult<bool>(num != 0);
Task<bool> task2;
NativeWebSocket.WaitHandleAsyncFactory.CancelledTask = task2;
}
// Token: 0x0400571E RID: 22302
[Token(Token = "0x400571E")]
private static Task<bool> CompletedTaskTrue;
// Token: 0x0400571F RID: 22303
[Token(Token = "0x400571F")]
private static Task<bool> CompletedTaskFalse;
// Token: 0x04005720 RID: 22304
[Token(Token = "0x4005720")]
private static Task<bool> CancelledTask;
// Token: 0x020012D8 RID: 4824
[Token(Token = "0x20012D8")]
private sealed class ThreadPoolRegistration : IDisposable
{
// Token: 0x060078E6 RID: 30950 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x60078E6")]
[Address(RVA = "0x6F4A70", Offset = "0x6F3470", VA = "0x1806F4A70")]
public ThreadPoolRegistration(WaitHandle handle, TimeSpan timeout, TaskCompletionSource<bool> tcs)
{
}
// Token: 0x060078E7 RID: 30951 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x60078E7")]
[Address(RVA = "0x6F4A40", Offset = "0x6F3440", VA = "0x1806F4A40", Slot = "4")]
void IDisposable.Dispose()
{
}
// Token: 0x04005721 RID: 22305
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4005721")]
private readonly RegisteredWaitHandle _registeredWaitHandle;
}
}
}
}