This commit is contained in:
niko
2026-04-12 16:51:38 +02:00
parent 1b6f6d81d0
commit c12fbe3fc6
17828 changed files with 2994770 additions and 0 deletions
+166
View File
@@ -0,0 +1,166 @@
using System;
using System.Threading;
using System.Threading.Tasks;
using Cpp2IlInjected;
namespace System.Net.WebSockets
{
/// <summary>Provides a client for connecting to WebSocket services.</summary>
// Token: 0x0200031B RID: 795
[Token(Token = "0x200031B")]
public sealed class ClientWebSocket : WebSocket
{
/// <summary>Creates an instance of the <see cref="T:System.Net.WebSockets.ClientWebSocket" /> class.</summary>
// Token: 0x060014BB RID: 5307 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014BB")]
[Address(RVA = "0x768480", Offset = "0x767480", VA = "0x180768480")]
public ClientWebSocket()
{
}
/// <summary>Gets the WebSocket options for the <see cref="T:System.Net.WebSockets.ClientWebSocket" /> instance.</summary>
/// <returns>The WebSocket options for the <see cref="T:System.Net.WebSockets.ClientWebSocket" /> instance.</returns>
// Token: 0x17000434 RID: 1076
// (get) Token: 0x060014BC RID: 5308 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x17000434")]
public ClientWebSocketOptions Options
{
[Token(Token = "0x60014BC")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get
{
return null;
}
}
/// <summary>Gets the WebSocket state of the <see cref="T:System.Net.WebSockets.ClientWebSocket" /> instance.</summary>
/// <returns>The WebSocket state of the <see cref="T:System.Net.WebSockets.ClientWebSocket" /> instance.</returns>
// Token: 0x17000435 RID: 1077
// (get) Token: 0x060014BD RID: 5309 RVA: 0x00009528 File Offset: 0x00007728
[Token(Token = "0x17000435")]
public override WebSocketState State
{
[Token(Token = "0x60014BD")]
[Address(RVA = "0x7686D0", Offset = "0x7676D0", VA = "0x1807686D0", Slot = "5")]
get
{
return WebSocketState.None;
}
}
/// <summary>Connect to a WebSocket server as an asynchronous operation.</summary>
/// <param name="uri">The URI of the WebSocket server to connect to.</param>
/// <param name="cancellationToken">A cancellation token used to propagate notification that the operation should be canceled.</param>
/// <returns>The task object representing the asynchronous operation.</returns>
// Token: 0x060014BE RID: 5310 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014BE")]
[Address(RVA = "0x767EF0", Offset = "0x766EF0", VA = "0x180767EF0")]
public Task ConnectAsync(Uri uri, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x060014BF RID: 5311 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014BF")]
[Address(RVA = "0x767DF0", Offset = "0x766DF0", VA = "0x180767DF0")]
private Task ConnectAsyncCore(Uri uri, CancellationToken cancellationToken)
{
return null;
}
/// <summary>Send data on <see cref="T:System.Net.WebSockets.ClientWebSocket" /> as an asynchronous operation.</summary>
/// <param name="buffer">The buffer containing the message to be sent.</param>
/// <param name="messageType">Specifies whether the buffer is clear text or in a binary format.</param>
/// <param name="endOfMessage">Specifies whether this is the final asynchronous send. Set to <see langword="true" /> if this is the final send; <see langword="false" /> otherwise.</param>
/// <param name="cancellationToken">A cancellation token used to propagate notification that this operation should be canceled.</param>
/// <returns>The task object representing the asynchronous operation.</returns>
// Token: 0x060014C0 RID: 5312 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014C0")]
[Address(RVA = "0x768320", Offset = "0x767320", VA = "0x180768320", Slot = "10")]
public override Task SendAsync(ArraySegment<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken)
{
return null;
}
/// <summary>Receives data on <see cref="T:System.Net.WebSockets.ClientWebSocket" /> as an asynchronous operation.</summary>
/// <param name="buffer">The buffer to receive the response.</param>
/// <param name="cancellationToken">A cancellation token used to propagate notification that this operation should be canceled.</param>
/// <returns>The task object representing the asynchronous operation.</returns>
// Token: 0x060014C1 RID: 5313 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014C1")]
[Address(RVA = "0x7682B0", Offset = "0x7672B0", VA = "0x1807682B0", Slot = "9")]
public override Task<WebSocketReceiveResult> ReceiveAsync(ArraySegment<byte> buffer, CancellationToken cancellationToken)
{
return null;
}
/// <summary>Close the output for the <see cref="T:System.Net.WebSockets.ClientWebSocket" /> instance as an asynchronous operation.</summary>
/// <param name="closeStatus">The WebSocket close status.</param>
/// <param name="statusDescription">A description of the close status.</param>
/// <param name="cancellationToken">A cancellation token used to propagate notification that this operation should be canceled.</param>
/// <returns>The task object representing the asynchronous operation.</returns>
// Token: 0x060014C2 RID: 5314 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014C2")]
[Address(RVA = "0x767D80", Offset = "0x766D80", VA = "0x180767D80", Slot = "7")]
public override Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken)
{
return null;
}
/// <summary>Aborts the connection and cancels any pending IO operations.</summary>
// Token: 0x060014C3 RID: 5315 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014C3")]
[Address(RVA = "0x767CD0", Offset = "0x766CD0", VA = "0x180767CD0", Slot = "6")]
public override void Abort()
{
}
/// <summary>Releases the unmanaged resources used by the <see cref="T:System.Net.WebSockets.ClientWebSocket" /> instance.</summary>
// Token: 0x060014C4 RID: 5316 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014C4")]
[Address(RVA = "0x768200", Offset = "0x767200", VA = "0x180768200", Slot = "8")]
public override void Dispose()
{
}
// Token: 0x060014C5 RID: 5317 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014C5")]
[Address(RVA = "0x7683B0", Offset = "0x7673B0", VA = "0x1807683B0")]
private void ThrowIfNotConnected()
{
}
// Token: 0x04000D89 RID: 3465
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4000D89")]
private readonly ClientWebSocketOptions _options;
// Token: 0x04000D8A RID: 3466
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4000D8A")]
private WebSocketHandle _innerWebSocket;
// Token: 0x04000D8B RID: 3467
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4000D8B")]
private int _state;
// Token: 0x0200031C RID: 796
[Token(Token = "0x200031C")]
private enum InternalState
{
// Token: 0x04000D8D RID: 3469
[Token(Token = "0x4000D8D")]
Created,
// Token: 0x04000D8E RID: 3470
[Token(Token = "0x4000D8E")]
Connecting,
// Token: 0x04000D8F RID: 3471
[Token(Token = "0x4000D8F")]
Connected,
// Token: 0x04000D90 RID: 3472
[Token(Token = "0x4000D90")]
Disposed
}
}
}
@@ -0,0 +1,199 @@
using System;
using System.Collections.Generic;
using System.Security.Cryptography.X509Certificates;
using Cpp2IlInjected;
namespace System.Net.WebSockets
{
/// <summary>Options to use with a <see cref="T:System.Net.WebSockets.ClientWebSocket" /> object.</summary>
// Token: 0x0200031E RID: 798
[Token(Token = "0x200031E")]
public sealed class ClientWebSocketOptions
{
// Token: 0x060014C8 RID: 5320 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014C8")]
[Address(RVA = "0x767B20", Offset = "0x766B20", VA = "0x180767B20")]
internal ClientWebSocketOptions()
{
}
/// <summary>Creates a HTTP request header and its value.</summary>
/// <param name="headerName">The name of the HTTP header.</param>
/// <param name="headerValue">The value of the HTTP header.</param>
// Token: 0x060014C9 RID: 5321 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014C9")]
[Address(RVA = "0x767A10", Offset = "0x766A10", VA = "0x180767A10")]
public void SetRequestHeader(string headerName, string headerValue)
{
}
// Token: 0x17000436 RID: 1078
// (get) Token: 0x060014CA RID: 5322 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x17000436")]
internal WebHeaderCollection RequestHeaders
{
[Token(Token = "0x60014CA")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get
{
return null;
}
}
// Token: 0x17000437 RID: 1079
// (get) Token: 0x060014CB RID: 5323 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x17000437")]
internal List<string> RequestedSubProtocols
{
[Token(Token = "0x60014CB")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get
{
return null;
}
}
/// <summary>Gets or sets a collection of client side certificates.</summary>
/// <returns>A collection of client side certificates.</returns>
// Token: 0x17000438 RID: 1080
// (get) Token: 0x060014CC RID: 5324 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x17000438")]
public X509CertificateCollection ClientCertificates
{
[Token(Token = "0x60014CC")]
[Address(RVA = "0x767C70", Offset = "0x766C70", VA = "0x180767C70")]
get
{
return null;
}
}
/// <summary>Gets or sets the cookies associated with the request.</summary>
/// <returns>The cookies associated with the request.</returns>
// Token: 0x17000439 RID: 1081
// (get) Token: 0x060014CD RID: 5325 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x17000439")]
public CookieContainer Cookies
{
[Token(Token = "0x60014CD")]
[Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0")]
get
{
return null;
}
}
/// <summary>Gets or sets the WebSocket protocol keep-alive interval.</summary>
/// <returns>The WebSocket protocol keep-alive interval.</returns>
// Token: 0x1700043A RID: 1082
// (get) Token: 0x060014CE RID: 5326 RVA: 0x00009540 File Offset: 0x00007740
[Token(Token = "0x1700043A")]
public TimeSpan KeepAliveInterval
{
[Token(Token = "0x60014CE")]
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
get
{
return default(TimeSpan);
}
}
// Token: 0x1700043B RID: 1083
// (get) Token: 0x060014CF RID: 5327 RVA: 0x00009558 File Offset: 0x00007758
[Token(Token = "0x1700043B")]
internal int ReceiveBufferSize
{
[Token(Token = "0x60014CF")]
[Address(RVA = "0x678D20", Offset = "0x677D20", VA = "0x180678D20")]
get
{
return 0;
}
}
// Token: 0x1700043C RID: 1084
// (get) Token: 0x060014D0 RID: 5328 RVA: 0x00009570 File Offset: 0x00007770
[Token(Token = "0x1700043C")]
internal int SendBufferSize
{
[Token(Token = "0x60014D0")]
[Address(RVA = "0x696840", Offset = "0x695840", VA = "0x180696840")]
get
{
return 0;
}
}
// Token: 0x1700043D RID: 1085
// (get) Token: 0x060014D1 RID: 5329 RVA: 0x00009588 File Offset: 0x00007788
[Token(Token = "0x1700043D")]
internal ArraySegment<byte>? Buffer
{
[Token(Token = "0x60014D1")]
[Address(RVA = "0x767C50", Offset = "0x766C50", VA = "0x180767C50")]
get
{
return null;
}
}
// Token: 0x060014D2 RID: 5330 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014D2")]
[Address(RVA = "0x73F650", Offset = "0x73E650", VA = "0x18073F650")]
internal void SetToReadOnly()
{
}
// Token: 0x060014D3 RID: 5331 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014D3")]
[Address(RVA = "0x767AB0", Offset = "0x766AB0", VA = "0x180767AB0")]
private void ThrowIfReadOnly()
{
}
// Token: 0x04000D97 RID: 3479
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4000D97")]
private bool _isReadOnly;
// Token: 0x04000D98 RID: 3480
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4000D98")]
private readonly List<string> _requestedSubProtocols;
// Token: 0x04000D99 RID: 3481
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4000D99")]
private readonly WebHeaderCollection _requestHeaders;
// Token: 0x04000D9A RID: 3482
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4000D9A")]
private TimeSpan _keepAliveInterval;
// Token: 0x04000D9B RID: 3483
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4000D9B")]
private X509CertificateCollection _clientCertificates;
// Token: 0x04000D9C RID: 3484
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4000D9C")]
private CookieContainer _cookies;
// Token: 0x04000D9D RID: 3485
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4000D9D")]
private int _receiveBufferSize;
// Token: 0x04000D9E RID: 3486
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4000D9E")]
private int _sendBufferSize;
// Token: 0x04000D9F RID: 3487
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4000D9F")]
private ArraySegment<byte>? _buffer;
}
}
+523
View File
@@ -0,0 +1,523 @@
using System;
using System.IO;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Cpp2IlInjected;
namespace System.Net.WebSockets
{
// Token: 0x0200030E RID: 782
[Token(Token = "0x200030E")]
internal sealed class ManagedWebSocket : WebSocket
{
// Token: 0x0600147C RID: 5244 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x600147C")]
[Address(RVA = "0x769100", Offset = "0x768100", VA = "0x180769100")]
public static ManagedWebSocket CreateFromConnectedStream(Stream stream, bool isServer, string subprotocol, TimeSpan keepAliveInterval, int receiveBufferSize, [Optional] ArraySegment<byte>? receiveBuffer)
{
return null;
}
// Token: 0x17000431 RID: 1073
// (get) Token: 0x0600147D RID: 5245 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x17000431")]
private object StateUpdateLock
{
[Token(Token = "0x600147D")]
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")]
get
{
return null;
}
}
// Token: 0x17000432 RID: 1074
// (get) Token: 0x0600147E RID: 5246 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x17000432")]
private object ReceiveAsyncLock
{
[Token(Token = "0x600147E")]
[Address(RVA = "0x4975A0", Offset = "0x4965A0", VA = "0x1804975A0")]
get
{
return null;
}
}
// Token: 0x0600147F RID: 5247 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x600147F")]
[Address(RVA = "0x76B5E0", Offset = "0x76A5E0", VA = "0x18076B5E0")]
private ManagedWebSocket(Stream stream, bool isServer, string subprotocol, TimeSpan keepAliveInterval, int receiveBufferSize, ArraySegment<byte>? receiveBuffer)
{
}
// Token: 0x06001480 RID: 5248 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001480")]
[Address(RVA = "0x769330", Offset = "0x768330", VA = "0x180769330", Slot = "8")]
public override void Dispose()
{
}
// Token: 0x06001481 RID: 5249 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001481")]
[Address(RVA = "0x769280", Offset = "0x768280", VA = "0x180769280")]
private void DisposeCore()
{
}
// Token: 0x17000433 RID: 1075
// (get) Token: 0x06001482 RID: 5250 RVA: 0x00009450 File Offset: 0x00007650
[Token(Token = "0x17000433")]
public override WebSocketState State
{
[Token(Token = "0x6001482")]
[Address(RVA = "0x56DD20", Offset = "0x56CD20", VA = "0x18056DD20", Slot = "5")]
get
{
return WebSocketState.None;
}
}
// Token: 0x06001483 RID: 5251 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6001483")]
[Address(RVA = "0x769BC0", Offset = "0x768BC0", VA = "0x180769BC0", Slot = "10")]
public override Task SendAsync(ArraySegment<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x06001484 RID: 5252 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6001484")]
[Address(RVA = "0x7698B0", Offset = "0x7688B0", VA = "0x1807698B0", Slot = "9")]
public override Task<WebSocketReceiveResult> ReceiveAsync(ArraySegment<byte> buffer, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x06001485 RID: 5253 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6001485")]
[Address(RVA = "0x768DC0", Offset = "0x767DC0", VA = "0x180768DC0", Slot = "7")]
public override Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x06001486 RID: 5254 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001486")]
[Address(RVA = "0x768B60", Offset = "0x767B60", VA = "0x180768B60", Slot = "6")]
public override void Abort()
{
}
// Token: 0x06001487 RID: 5255 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6001487")]
[Address(RVA = "0x769F70", Offset = "0x768F70", VA = "0x180769F70")]
private Task SendFrameAsync(ManagedWebSocket.MessageOpcode opcode, bool endOfMessage, ArraySegment<byte> payloadBuffer, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x06001488 RID: 5256 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6001488")]
[Address(RVA = "0x76A220", Offset = "0x769220", VA = "0x18076A220")]
private Task SendFrameLockAcquiredNonCancelableAsync(ManagedWebSocket.MessageOpcode opcode, bool endOfMessage, ArraySegment<byte> payloadBuffer)
{
return null;
}
// Token: 0x06001489 RID: 5257 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6001489")]
[Address(RVA = "0x76A100", Offset = "0x769100", VA = "0x18076A100")]
private Task SendFrameFallbackAsync(ManagedWebSocket.MessageOpcode opcode, bool endOfMessage, ArraySegment<byte> payloadBuffer, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x0600148A RID: 5258 RVA: 0x00009468 File Offset: 0x00007668
[Token(Token = "0x600148A")]
[Address(RVA = "0x76AE40", Offset = "0x769E40", VA = "0x18076AE40")]
private int WriteFrameToSendBuffer(ManagedWebSocket.MessageOpcode opcode, bool endOfMessage, ArraySegment<byte> payloadBuffer)
{
return 0;
}
// Token: 0x0600148B RID: 5259 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x600148B")]
[Address(RVA = "0x76A630", Offset = "0x769630", VA = "0x18076A630")]
private void SendKeepAliveFrameAsync()
{
}
// Token: 0x0600148C RID: 5260 RVA: 0x00009480 File Offset: 0x00007680
[Token(Token = "0x600148C")]
[Address(RVA = "0x76B0C0", Offset = "0x76A0C0", VA = "0x18076B0C0")]
private static int WriteHeader(ManagedWebSocket.MessageOpcode opcode, byte[] sendBuffer, ArraySegment<byte> payload, bool endOfMessage, bool useMask)
{
return 0;
}
// Token: 0x0600148D RID: 5261 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x600148D")]
[Address(RVA = "0x76B340", Offset = "0x76A340", VA = "0x18076B340")]
private static void WriteRandomMask(byte[] buffer, int offset)
{
}
// Token: 0x0600148E RID: 5262 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x600148E")]
[Address(RVA = "0x7697A0", Offset = "0x7687A0", VA = "0x1807697A0")]
private Task<WebSocketReceiveResult> ReceiveAsyncPrivate(ArraySegment<byte> payloadBuffer, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x0600148F RID: 5263 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x600148F")]
[Address(RVA = "0x769550", Offset = "0x768550", VA = "0x180769550")]
private Task<WebSocketReceiveResult> HandleReceivedCloseAsync(ManagedWebSocket.MessageHeader header, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x06001490 RID: 5264 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6001490")]
[Address(RVA = "0x769660", Offset = "0x768660", VA = "0x180769660")]
private Task HandleReceivedPingPongAsync(ManagedWebSocket.MessageHeader header, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x06001491 RID: 5265 RVA: 0x00009498 File Offset: 0x00007698
[Token(Token = "0x6001491")]
[Address(RVA = "0x769760", Offset = "0x768760", VA = "0x180769760")]
private static bool IsValidCloseStatus(WebSocketCloseStatus closeStatus)
{
return default(bool);
}
// Token: 0x06001492 RID: 5266 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6001492")]
[Address(RVA = "0x768F80", Offset = "0x767F80", VA = "0x180768F80")]
private Task CloseWithReceiveErrorAndThrowAsync(WebSocketCloseStatus closeStatus, WebSocketError error, CancellationToken cancellationToken, [Optional] Exception innerException)
{
return null;
}
// Token: 0x06001493 RID: 5267 RVA: 0x000094B0 File Offset: 0x000076B0
[Token(Token = "0x6001493")]
[Address(RVA = "0x76A940", Offset = "0x769940", VA = "0x18076A940")]
private bool TryParseMessageHeaderFromReceiveBuffer(out ManagedWebSocket.MessageHeader resultHeader)
{
return default(bool);
}
// Token: 0x06001494 RID: 5268 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6001494")]
[Address(RVA = "0x769E70", Offset = "0x768E70", VA = "0x180769E70")]
private Task SendCloseFrameAsync(WebSocketCloseStatus closeStatus, string closeStatusDescription, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x06001495 RID: 5269 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001495")]
[Address(RVA = "0x7690F0", Offset = "0x7680F0", VA = "0x1807690F0")]
private void ConsumeFromBuffer(int count)
{
}
// Token: 0x06001496 RID: 5270 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6001496")]
[Address(RVA = "0x769450", Offset = "0x768450", VA = "0x180769450")]
private Task EnsureBufferContainsAsync(int minimumRequiredBytes, CancellationToken cancellationToken, bool throwOnPrematureClosure = true)
{
return null;
}
// Token: 0x06001497 RID: 5271 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001497")]
[Address(RVA = "0x768BA0", Offset = "0x767BA0", VA = "0x180768BA0")]
private void AllocateSendBuffer(int minLength)
{
}
// Token: 0x06001498 RID: 5272 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001498")]
[Address(RVA = "0x769B40", Offset = "0x768B40", VA = "0x180769B40")]
private void ReleaseSendBuffer()
{
}
// Token: 0x06001499 RID: 5273 RVA: 0x000094C8 File Offset: 0x000076C8
[Token(Token = "0x6001499")]
[Address(RVA = "0x769090", Offset = "0x768090", VA = "0x180769090")]
private static int CombineMaskBytes(byte[] buffer, int maskOffset)
{
return 0;
}
// Token: 0x0600149A RID: 5274 RVA: 0x000094E0 File Offset: 0x000076E0
[Token(Token = "0x600149A")]
[Address(RVA = "0x768CE0", Offset = "0x767CE0", VA = "0x180768CE0")]
private static int ApplyMask(byte[] toMask, int toMaskOffset, byte[] mask, int maskOffset, int maskOffsetIndex, long count)
{
return 0;
}
// Token: 0x0600149B RID: 5275 RVA: 0x000094F8 File Offset: 0x000076F8
[Token(Token = "0x600149B")]
[Address(RVA = "0x768C10", Offset = "0x767C10", VA = "0x180768C10")]
private static int ApplyMask(byte[] toMask, int toMaskOffset, int mask, int maskIndex, long count)
{
return 0;
}
// Token: 0x0600149C RID: 5276 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x600149C")]
[Address(RVA = "0x76A890", Offset = "0x769890", VA = "0x18076A890")]
private void ThrowIfOperationInProgress(Task operationTask, [CallerMemberName] [Optional] string methodName)
{
}
// Token: 0x0600149D RID: 5277 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x600149D")]
[Address(RVA = "0x7691C0", Offset = "0x7681C0", VA = "0x1807691C0")]
private static Exception CreateOperationCanceledException(Exception innerException, [Optional] CancellationToken cancellationToken)
{
return null;
}
// Token: 0x0600149E RID: 5278 RVA: 0x00009510 File Offset: 0x00007710
[Token(Token = "0x600149E")]
[Address(RVA = "0x76AC40", Offset = "0x769C40", VA = "0x18076AC40")]
private static bool TryValidateUtf8(ArraySegment<byte> arraySegment, bool endOfMessage, ManagedWebSocket.Utf8MessageState state)
{
return default(bool);
}
// Token: 0x04000D1D RID: 3357
[Token(Token = "0x4000D1D")]
private static readonly RandomNumberGenerator s_random;
// Token: 0x04000D1E RID: 3358
[Token(Token = "0x4000D1E")]
private static readonly UTF8Encoding s_textEncoding;
// Token: 0x04000D1F RID: 3359
[Token(Token = "0x4000D1F")]
private static readonly WebSocketState[] s_validSendStates;
// Token: 0x04000D20 RID: 3360
[Token(Token = "0x4000D20")]
private static readonly WebSocketState[] s_validReceiveStates;
// Token: 0x04000D21 RID: 3361
[Token(Token = "0x4000D21")]
private static readonly WebSocketState[] s_validCloseOutputStates;
// Token: 0x04000D22 RID: 3362
[Token(Token = "0x4000D22")]
private static readonly WebSocketState[] s_validCloseStates;
// Token: 0x04000D23 RID: 3363
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4000D23")]
private readonly Stream _stream;
// Token: 0x04000D24 RID: 3364
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4000D24")]
private readonly bool _isServer;
// Token: 0x04000D25 RID: 3365
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4000D25")]
private readonly string _subprotocol;
// Token: 0x04000D26 RID: 3366
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4000D26")]
private readonly Timer _keepAliveTimer;
// Token: 0x04000D27 RID: 3367
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4000D27")]
private readonly CancellationTokenSource _abortSource;
// Token: 0x04000D28 RID: 3368
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4000D28")]
private byte[] _receiveBuffer;
// Token: 0x04000D29 RID: 3369
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4000D29")]
private readonly bool _receiveBufferFromPool;
// Token: 0x04000D2A RID: 3370
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4000D2A")]
private readonly ManagedWebSocket.Utf8MessageState _utf8TextState;
// Token: 0x04000D2B RID: 3371
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x4000D2B")]
private readonly SemaphoreSlim _sendFrameAsyncLock;
// Token: 0x04000D2C RID: 3372
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x4000D2C")]
private WebSocketState _state;
// Token: 0x04000D2D RID: 3373
[global::Cpp2IlInjected.FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4000D2D")]
private bool _disposed;
// Token: 0x04000D2E RID: 3374
[global::Cpp2IlInjected.FieldOffset(Offset = "0x5D")]
[Token(Token = "0x4000D2E")]
private bool _sentCloseFrame;
// Token: 0x04000D2F RID: 3375
[global::Cpp2IlInjected.FieldOffset(Offset = "0x5E")]
[Token(Token = "0x4000D2F")]
private bool _receivedCloseFrame;
// Token: 0x04000D30 RID: 3376
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x4000D30")]
private WebSocketCloseStatus? _closeStatus;
// Token: 0x04000D31 RID: 3377
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x4000D31")]
private string _closeStatusDescription;
// Token: 0x04000D32 RID: 3378
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
[Token(Token = "0x4000D32")]
private ManagedWebSocket.MessageHeader _lastReceiveHeader;
// Token: 0x04000D33 RID: 3379
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
[Token(Token = "0x4000D33")]
private int _receiveBufferOffset;
// Token: 0x04000D34 RID: 3380
[global::Cpp2IlInjected.FieldOffset(Offset = "0x8C")]
[Token(Token = "0x4000D34")]
private int _receiveBufferCount;
// Token: 0x04000D35 RID: 3381
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
[Token(Token = "0x4000D35")]
private int _receivedMaskOffsetOffset;
// Token: 0x04000D36 RID: 3382
[global::Cpp2IlInjected.FieldOffset(Offset = "0x98")]
[Token(Token = "0x4000D36")]
private byte[] _sendBuffer;
// Token: 0x04000D37 RID: 3383
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")]
[Token(Token = "0x4000D37")]
private bool _lastSendWasFragment;
// Token: 0x04000D38 RID: 3384
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4000D38")]
private Task _lastSendAsync;
// Token: 0x04000D39 RID: 3385
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4000D39")]
private Task<WebSocketReceiveResult> _lastReceiveAsync;
// Token: 0x0200030F RID: 783
[Token(Token = "0x200030F")]
private sealed class Utf8MessageState
{
// Token: 0x060014A0 RID: 5280 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014A0")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public Utf8MessageState()
{
}
// Token: 0x04000D3A RID: 3386
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4000D3A")]
internal bool SequenceInProgress;
// Token: 0x04000D3B RID: 3387
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
[Token(Token = "0x4000D3B")]
internal int AdditionalBytesExpected;
// Token: 0x04000D3C RID: 3388
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4000D3C")]
internal int ExpectedValueMin;
// Token: 0x04000D3D RID: 3389
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4000D3D")]
internal int CurrentDecodeBits;
}
// Token: 0x02000310 RID: 784
[Token(Token = "0x2000310")]
private enum MessageOpcode : byte
{
// Token: 0x04000D3F RID: 3391
[Token(Token = "0x4000D3F")]
Continuation,
// Token: 0x04000D40 RID: 3392
[Token(Token = "0x4000D40")]
Text,
// Token: 0x04000D41 RID: 3393
[Token(Token = "0x4000D41")]
Binary,
// Token: 0x04000D42 RID: 3394
[Token(Token = "0x4000D42")]
Close = 8,
// Token: 0x04000D43 RID: 3395
[Token(Token = "0x4000D43")]
Ping,
// Token: 0x04000D44 RID: 3396
[Token(Token = "0x4000D44")]
Pong
}
// Token: 0x02000311 RID: 785
[Token(Token = "0x2000311")]
[StructLayout(3)]
private struct MessageHeader
{
// Token: 0x04000D45 RID: 3397
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4000D45")]
internal ManagedWebSocket.MessageOpcode Opcode;
// Token: 0x04000D46 RID: 3398
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1")]
[Token(Token = "0x4000D46")]
internal bool Fin;
// Token: 0x04000D47 RID: 3399
[global::Cpp2IlInjected.FieldOffset(Offset = "0x8")]
[Token(Token = "0x4000D47")]
internal long PayloadLength;
// Token: 0x04000D48 RID: 3400
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4000D48")]
internal int Mask;
}
}
}
+110
View File
@@ -0,0 +1,110 @@
using System;
using System.ComponentModel;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Cpp2IlInjected;
namespace System.Net.WebSockets
{
/// <summary>The WebSocket class allows applications to send and receive data after the WebSocket upgrade has completed.</summary>
// Token: 0x02000326 RID: 806
[Token(Token = "0x2000326")]
public abstract class WebSocket : IDisposable
{
/// <summary>Returns the current state of the WebSocket connection.</summary>
/// <returns>The current state of the WebSocket connection.</returns>
// Token: 0x1700043F RID: 1087
// (get) Token: 0x060014F5 RID: 5365
[Token(Token = "0x1700043F")]
public abstract WebSocketState State
{
[Token(Token = "0x60014F5")]
[Address(Slot = "5")]
get;
}
/// <summary>Aborts the WebSocket connection and cancels any pending IO operations.</summary>
// Token: 0x060014F6 RID: 5366
[Token(Token = "0x60014F6")]
[Address(Slot = "6")]
public abstract void Abort();
/// <summary>Initiates or completes the close handshake defined in the WebSocket protocol specification section 7.</summary>
/// <param name="closeStatus">Indicates the reason for closing the WebSocket connection.</param>
/// <param name="statusDescription">Allows applications to specify a human readable explanation as to why the connection is closed.</param>
/// <param name="cancellationToken">The token that can be used to propagate notification that operations should be canceled.</param>
/// <returns>The task object representing the asynchronous operation.</returns>
// Token: 0x060014F7 RID: 5367
[Token(Token = "0x60014F7")]
[Address(Slot = "7")]
public abstract Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken);
/// <summary>Used to clean up unmanaged resources for ASP.NET and self-hosted implementations.</summary>
// Token: 0x060014F8 RID: 5368
[Token(Token = "0x60014F8")]
[Address(Slot = "8")]
public abstract void Dispose();
/// <summary>Receives data from the <see cref="T:System.Net.WebSockets.WebSocket" /> connection asynchronously.</summary>
/// <param name="buffer">References the application buffer that is the storage location for the received data.</param>
/// <param name="cancellationToken">Propagates the notification that operations should be canceled.</param>
/// <returns>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the received data.</returns>
// Token: 0x060014F9 RID: 5369
[Token(Token = "0x60014F9")]
[Address(Slot = "9")]
public abstract Task<WebSocketReceiveResult> ReceiveAsync(ArraySegment<byte> buffer, CancellationToken cancellationToken);
/// <summary>Sends data over the <see cref="T:System.Net.WebSockets.WebSocket" /> connection asynchronously.</summary>
/// <param name="buffer">The buffer to be sent over the connection.</param>
/// <param name="messageType">Indicates whether the application is sending a binary or text message.</param>
/// <param name="endOfMessage">Indicates whether the data in "buffer" is the last part of a message.</param>
/// <param name="cancellationToken">The token that propagates the notification that operations should be canceled.</param>
/// <returns>The task object representing the asynchronous operation.</returns>
// Token: 0x060014FA RID: 5370
[Token(Token = "0x60014FA")]
[Address(Slot = "10")]
public abstract Task SendAsync(ArraySegment<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken);
/// <summary>Gets the default WebSocket protocol keep-alive interval.</summary>
/// <returns>The default WebSocket protocol keep-alive interval. The typical value for this interval is 30 seconds (as defined by the OS or the .NET platform). It is used to initialize <see cref="P:System.Net.WebSockets.ClientWebSocketOptions.KeepAliveInterval" /> value.</returns>
// Token: 0x17000440 RID: 1088
// (get) Token: 0x060014FB RID: 5371 RVA: 0x00009600 File Offset: 0x00007800
[Token(Token = "0x17000440")]
public static TimeSpan DefaultKeepAliveInterval
{
[Token(Token = "0x60014FB")]
[Address(RVA = "0x77D820", Offset = "0x77C820", VA = "0x18077D820")]
get
{
return default(TimeSpan);
}
}
/// <summary>Allows callers to create a client side WebSocket class which will use the WSPC for framing purposes.</summary>
/// <param name="innerStream">The connection to be used for IO operations.</param>
/// <param name="subProtocol">The subprotocol accepted by the client.</param>
/// <param name="receiveBufferSize">The size in bytes of the client WebSocket receive buffer.</param>
/// <param name="sendBufferSize">The size in bytes of the client WebSocket send buffer.</param>
/// <param name="keepAliveInterval">Determines how regularly a frame is sent over the connection as a keep-alive. Applies only when the connection is idle.</param>
/// <param name="useZeroMaskingKey">Indicates whether a random key or a static key (just zeros) should be used for the WebSocket masking.</param>
/// <param name="internalBuffer">Will be used as the internal buffer in the WPC. The size has to be at least <c>2 * ReceiveBufferSize + SendBufferSize + 256 + 20 (16 on 32-bit)</c>.</param>
/// <returns>Returns <see cref="T:System.Net.WebSockets.WebSocket" />.</returns>
// Token: 0x060014FC RID: 5372 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014FC")]
[Address(RVA = "0x77D410", Offset = "0x77C410", VA = "0x18077D410")]
[EditorBrowsable(EditorBrowsableState.Never)]
public static WebSocket CreateClientWebSocket(Stream innerStream, string subProtocol, int receiveBufferSize, int sendBufferSize, TimeSpan keepAliveInterval, bool useZeroMaskingKey, ArraySegment<byte> internalBuffer)
{
return null;
}
/// <summary>Creates an instance of the <see cref="T:System.Net.WebSockets.WebSocket" /> class.</summary>
// Token: 0x060014FD RID: 5373 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014FD")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
protected WebSocket()
{
}
}
}
@@ -0,0 +1,52 @@
using System;
using Cpp2IlInjected;
namespace System.Net.WebSockets
{
/// <summary>Represents well known WebSocket close codes as defined in section 11.7 of the WebSocket protocol spec.</summary>
// Token: 0x02000327 RID: 807
[Token(Token = "0x2000327")]
public enum WebSocketCloseStatus
{
/// <summary>(1000) The connection has closed after the request was fulfilled.</summary>
// Token: 0x04000DDA RID: 3546
[Token(Token = "0x4000DDA")]
NormalClosure = 1000,
/// <summary>(1001) Indicates an endpoint is being removed. Either the server or client will become unavailable.</summary>
// Token: 0x04000DDB RID: 3547
[Token(Token = "0x4000DDB")]
EndpointUnavailable,
/// <summary>(1002) The client or server is terminating the connection because of a protocol error.</summary>
// Token: 0x04000DDC RID: 3548
[Token(Token = "0x4000DDC")]
ProtocolError,
/// <summary>(1003) The client or server is terminating the connection because it cannot accept the data type it received.</summary>
// Token: 0x04000DDD RID: 3549
[Token(Token = "0x4000DDD")]
InvalidMessageType,
/// <summary>No error specified.</summary>
// Token: 0x04000DDE RID: 3550
[Token(Token = "0x4000DDE")]
Empty = 1005,
/// <summary>(1007) The client or server is terminating the connection because it has received data inconsistent with the message type.</summary>
// Token: 0x04000DDF RID: 3551
[Token(Token = "0x4000DDF")]
InvalidPayloadData = 1007,
/// <summary>(1008) The connection will be closed because an endpoint has received a message that violates its policy.</summary>
// Token: 0x04000DE0 RID: 3552
[Token(Token = "0x4000DE0")]
PolicyViolation,
/// <summary>(1004) Reserved for future use.</summary>
// Token: 0x04000DE1 RID: 3553
[Token(Token = "0x4000DE1")]
MessageTooBig,
/// <summary>(1010) The client is terminating the connection because it expected the server to negotiate an extension.</summary>
// Token: 0x04000DE2 RID: 3554
[Token(Token = "0x4000DE2")]
MandatoryExtension,
/// <summary>The connection will be closed by the server because of an error on the server.</summary>
// Token: 0x04000DE3 RID: 3555
[Token(Token = "0x4000DE3")]
InternalServerError
}
}
+52
View File
@@ -0,0 +1,52 @@
using System;
using Cpp2IlInjected;
namespace System.Net.WebSockets
{
/// <summary>Contains the list of possible WebSocket errors.</summary>
// Token: 0x02000328 RID: 808
[Token(Token = "0x2000328")]
public enum WebSocketError
{
/// <summary>Indicates that there was no native error information for the exception.</summary>
// Token: 0x04000DE5 RID: 3557
[Token(Token = "0x4000DE5")]
Success,
/// <summary>Indicates that a WebSocket frame with an unknown opcode was received.</summary>
// Token: 0x04000DE6 RID: 3558
[Token(Token = "0x4000DE6")]
InvalidMessageType,
/// <summary>Indicates a general error.</summary>
// Token: 0x04000DE7 RID: 3559
[Token(Token = "0x4000DE7")]
Faulted,
/// <summary>Indicates that an unknown native error occurred.</summary>
// Token: 0x04000DE8 RID: 3560
[Token(Token = "0x4000DE8")]
NativeError,
/// <summary>Indicates that the incoming request was not a valid websocket request.</summary>
// Token: 0x04000DE9 RID: 3561
[Token(Token = "0x4000DE9")]
NotAWebSocket,
/// <summary>Indicates that the client requested an unsupported version of the WebSocket protocol.</summary>
// Token: 0x04000DEA RID: 3562
[Token(Token = "0x4000DEA")]
UnsupportedVersion,
/// <summary>Indicates that the client requested an unsupported WebSocket subprotocol.</summary>
// Token: 0x04000DEB RID: 3563
[Token(Token = "0x4000DEB")]
UnsupportedProtocol,
/// <summary>Indicates an error occurred when parsing the HTTP headers during the opening handshake.</summary>
// Token: 0x04000DEC RID: 3564
[Token(Token = "0x4000DEC")]
HeaderError,
/// <summary>Indicates that the connection was terminated unexpectedly.</summary>
// Token: 0x04000DED RID: 3565
[Token(Token = "0x4000DED")]
ConnectionClosedPrematurely,
/// <summary>Indicates the WebSocket is an invalid state for the given operation (such as being closed or aborted).</summary>
// Token: 0x04000DEE RID: 3566
[Token(Token = "0x4000DEE")]
InvalidState
}
}
+143
View File
@@ -0,0 +1,143 @@
using System;
using System.ComponentModel;
using System.Runtime.Serialization;
using Cpp2IlInjected;
namespace System.Net.WebSockets
{
/// <summary>Represents an exception that occurred when performing an operation on a WebSocket connection.</summary>
// Token: 0x02000329 RID: 809
[Token(Token = "0x2000329")]
[Serializable]
public sealed class WebSocketException : Win32Exception
{
/// <summary>Creates an instance of the <see cref="T:System.Net.WebSockets.WebSocketException" /> class.</summary>
// Token: 0x060014FE RID: 5374 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014FE")]
[Address(RVA = "0x77BB60", Offset = "0x77AB60", VA = "0x18077BB60")]
public WebSocketException()
{
}
/// <summary>Creates an instance of the <see cref="T:System.Net.WebSockets.WebSocketException" /> class.</summary>
/// <param name="error">The error from the WebSocketError enumeration.</param>
// Token: 0x060014FF RID: 5375 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014FF")]
[Address(RVA = "0x77B7D0", Offset = "0x77A7D0", VA = "0x18077B7D0")]
public WebSocketException(WebSocketError error)
{
}
/// <summary>Creates an instance of the <see cref="T:System.Net.WebSockets.WebSocketException" /> class.</summary>
/// <param name="error">The error from the WebSocketError enumeration.</param>
/// <param name="message">The description of the error.</param>
// Token: 0x06001500 RID: 5376 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001500")]
[Address(RVA = "0x77BA70", Offset = "0x77AA70", VA = "0x18077BA70")]
public WebSocketException(WebSocketError error, string message)
{
}
/// <summary>Creates an instance of the <see cref="T:System.Net.WebSockets.WebSocketException" /> class.</summary>
/// <param name="error">The error from the WebSocketError enumeration.</param>
/// <param name="innerException">Indicates the previous exception that led to the current exception.</param>
// Token: 0x06001501 RID: 5377 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001501")]
[Address(RVA = "0x77B850", Offset = "0x77A850", VA = "0x18077B850")]
public WebSocketException(WebSocketError error, Exception innerException)
{
}
/// <summary>Creates an instance of the <see cref="T:System.Net.WebSockets.WebSocketException" /> class.</summary>
/// <param name="error">The error from the WebSocketError enumeration.</param>
/// <param name="message">The description of the error.</param>
/// <param name="innerException">Indicates the previous exception that led to the current exception.</param>
// Token: 0x06001502 RID: 5378 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001502")]
[Address(RVA = "0x77B8E0", Offset = "0x77A8E0", VA = "0x18077B8E0")]
public WebSocketException(WebSocketError error, string message, Exception innerException)
{
}
/// <summary>Creates an instance of the <see cref="T:System.Net.WebSockets.WebSocketException" /> class.</summary>
/// <param name="nativeError">The native error code for the exception.</param>
// Token: 0x06001503 RID: 5379 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001503")]
[Address(RVA = "0x77B970", Offset = "0x77A970", VA = "0x18077B970")]
public WebSocketException(int nativeError)
{
}
/// <summary>Creates an instance of the <see cref="T:System.Net.WebSockets.WebSocketException" /> class.</summary>
/// <param name="message">The description of the error.</param>
// Token: 0x06001504 RID: 5380 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001504")]
[Address(RVA = "0x77BAF0", Offset = "0x77AAF0", VA = "0x18077BAF0")]
public WebSocketException(string message)
{
}
/// <summary>Creates an instance of the <see cref="T:System.Net.WebSockets.WebSocketException" /> class.</summary>
/// <param name="message">The description of the error.</param>
/// <param name="innerException">Indicates the previous exception that led to the current exception.</param>
// Token: 0x06001505 RID: 5381 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001505")]
[Address(RVA = "0x77B9F0", Offset = "0x77A9F0", VA = "0x18077B9F0")]
public WebSocketException(string message, Exception innerException)
{
}
/// <summary>Sets the SerializationInfo object with the file name and line number where the exception occurred.</summary>
/// <param name="info">A SerializationInfo object.</param>
/// <param name="context">The contextual information about the source or destination.</param>
// Token: 0x06001506 RID: 5382 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001506")]
[Address(RVA = "0x77B790", Offset = "0x77A790", VA = "0x18077B790", Slot = "10")]
public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
}
/// <summary>The native error code for the exception that occurred.</summary>
/// <returns>Returns <see cref="T:System.Int32" />.</returns>
// Token: 0x17000441 RID: 1089
// (get) Token: 0x06001507 RID: 5383 RVA: 0x00009618 File Offset: 0x00007818
[Token(Token = "0x17000441")]
public override int ErrorCode
{
[Token(Token = "0x6001507")]
[Address(RVA = "0x4F3F50", Offset = "0x4F2F50", VA = "0x1804F3F50", Slot = "12")]
get
{
return 0;
}
}
// Token: 0x06001508 RID: 5384 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6001508")]
[Address(RVA = "0x77B660", Offset = "0x77A660", VA = "0x18077B660")]
private static string GetErrorMessage(WebSocketError error)
{
return null;
}
// Token: 0x06001509 RID: 5385 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001509")]
[Address(RVA = "0x77B7B0", Offset = "0x77A7B0", VA = "0x18077B7B0")]
private void SetErrorCodeOnError(int nativeError)
{
}
// Token: 0x0600150A RID: 5386 RVA: 0x00009630 File Offset: 0x00007830
[Token(Token = "0x600150A")]
[Address(RVA = "0x77B7C0", Offset = "0x77A7C0", VA = "0x18077B7C0")]
private static bool Succeeded(int hr)
{
return default(bool);
}
// Token: 0x04000DEF RID: 3567
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4000DEF")]
private readonly WebSocketError _webSocketErrorCode;
}
}
+176
View File
@@ -0,0 +1,176 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Cpp2IlInjected;
namespace System.Net.WebSockets
{
// Token: 0x0200031F RID: 799
[Token(Token = "0x200031F")]
internal sealed class WebSocketHandle
{
// Token: 0x060014D4 RID: 5332 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014D4")]
[Address(RVA = "0x77C7A0", Offset = "0x77B7A0", VA = "0x18077C7A0")]
public static WebSocketHandle Create()
{
return null;
}
// Token: 0x060014D5 RID: 5333 RVA: 0x000095A0 File Offset: 0x000077A0
[Token(Token = "0x60014D5")]
[Address(RVA = "0x77C860", Offset = "0x77B860", VA = "0x18077C860")]
public static bool IsValid(WebSocketHandle handle)
{
return default(bool);
}
// Token: 0x1700043E RID: 1086
// (get) Token: 0x060014D6 RID: 5334 RVA: 0x000095B8 File Offset: 0x000077B8
[Token(Token = "0x1700043E")]
public WebSocketState State
{
[Token(Token = "0x60014D6")]
[Address(RVA = "0x77CCD0", Offset = "0x77BCD0", VA = "0x18077CCD0")]
get
{
return WebSocketState.None;
}
}
// Token: 0x060014D7 RID: 5335 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014D7")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0")]
public static void CheckPlatformSupport()
{
}
// Token: 0x060014D8 RID: 5336 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014D8")]
[Address(RVA = "0x77C830", Offset = "0x77B830", VA = "0x18077C830")]
public void Dispose()
{
}
// Token: 0x060014D9 RID: 5337 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014D9")]
[Address(RVA = "0x77BC30", Offset = "0x77AC30", VA = "0x18077BC30")]
public void Abort()
{
}
// Token: 0x060014DA RID: 5338 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014DA")]
[Address(RVA = "0x77CAB0", Offset = "0x77BAB0", VA = "0x18077CAB0")]
public Task SendAsync(ArraySegment<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x060014DB RID: 5339 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014DB")]
[Address(RVA = "0x77CA70", Offset = "0x77BA70", VA = "0x18077CA70")]
public Task<WebSocketReceiveResult> ReceiveAsync(ArraySegment<byte> buffer, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x060014DC RID: 5340 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014DC")]
[Address(RVA = "0x77C350", Offset = "0x77B350", VA = "0x18077C350")]
public Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x060014DD RID: 5341 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014DD")]
[Address(RVA = "0x77C380", Offset = "0x77B380", VA = "0x18077C380")]
public Task ConnectAsyncCore(Uri uri, CancellationToken cancellationToken, ClientWebSocketOptions options)
{
return null;
}
// Token: 0x060014DE RID: 5342 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014DE")]
[Address(RVA = "0x77C490", Offset = "0x77B490", VA = "0x18077C490")]
private Task<Socket> ConnectSocketAsync(string host, int port, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x060014DF RID: 5343 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014DF")]
[Address(RVA = "0x77BC80", Offset = "0x77AC80", VA = "0x18077BC80")]
private static byte[] BuildRequestHeader(Uri uri, ClientWebSocketOptions options, string secKey)
{
return null;
}
// Token: 0x060014E0 RID: 5344 RVA: 0x000095D0 File Offset: 0x000077D0
[Token(Token = "0x60014E0")]
[Address(RVA = "0x77C5A0", Offset = "0x77B5A0", VA = "0x18077C5A0")]
private static KeyValuePair<string, string> CreateSecKeyAndSecWebSocketAccept()
{
return default(KeyValuePair<string, string>);
}
// Token: 0x060014E1 RID: 5345 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014E1")]
[Address(RVA = "0x77C870", Offset = "0x77B870", VA = "0x18077C870")]
private Task<string> ParseAndValidateConnectResponseAsync(Stream stream, ClientWebSocketOptions options, string expectedSecWebSocketAccept, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x060014E2 RID: 5346 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014E2")]
[Address(RVA = "0x77CB00", Offset = "0x77BB00", VA = "0x18077CB00")]
private static void ValidateAndTrackHeader(string targetHeaderName, string targetHeaderValue, string foundHeaderName, string foundHeaderValue, ref bool foundHeader)
{
}
// Token: 0x060014E3 RID: 5347 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x60014E3")]
[Address(RVA = "0x77C980", Offset = "0x77B980", VA = "0x18077C980")]
private static Task<string> ReadResponseHeaderLineAsync(Stream stream, CancellationToken cancellationToken)
{
return null;
}
// Token: 0x060014E4 RID: 5348 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014E4")]
[Address(RVA = "0x77CC70", Offset = "0x77BC70", VA = "0x18077CC70")]
public WebSocketHandle()
{
}
// Token: 0x04000DA0 RID: 3488
[Token(Token = "0x4000DA0")]
[ThreadStatic]
private static StringBuilder t_cachedStringBuilder;
// Token: 0x04000DA1 RID: 3489
[Token(Token = "0x4000DA1")]
private static readonly Encoding s_defaultHttpEncoding;
// Token: 0x04000DA2 RID: 3490
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4000DA2")]
private readonly CancellationTokenSource _abortSource;
// Token: 0x04000DA3 RID: 3491
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4000DA3")]
private WebSocketState _state;
// Token: 0x04000DA4 RID: 3492
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4000DA4")]
private WebSocket _webSocket;
}
}
@@ -0,0 +1,24 @@
using System;
using Cpp2IlInjected;
namespace System.Net.WebSockets
{
/// <summary>Indicates the message type.</summary>
// Token: 0x0200032A RID: 810
[Token(Token = "0x200032A")]
public enum WebSocketMessageType
{
/// <summary>The message is clear text.</summary>
// Token: 0x04000DF1 RID: 3569
[Token(Token = "0x4000DF1")]
Text,
/// <summary>The message is in binary format.</summary>
// Token: 0x04000DF2 RID: 3570
[Token(Token = "0x4000DF2")]
Binary,
/// <summary>A receive has completed because a close message was received.</summary>
// Token: 0x04000DF3 RID: 3571
[Token(Token = "0x4000DF3")]
Close
}
}
@@ -0,0 +1,116 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
namespace System.Net.WebSockets
{
/// <summary>An instance of this class represents the result of performing a single ReceiveAsync operation on a WebSocket.</summary>
// Token: 0x0200032B RID: 811
[Token(Token = "0x200032B")]
public class WebSocketReceiveResult
{
/// <summary>Creates an instance of the <see cref="T:System.Net.WebSockets.WebSocketReceiveResult" /> class.</summary>
/// <param name="count">The number of bytes received.</param>
/// <param name="messageType">The type of message that was received.</param>
/// <param name="endOfMessage">Indicates whether this is the final message.</param>
// Token: 0x0600150B RID: 5387 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x600150B")]
[Address(RVA = "0x77CDB0", Offset = "0x77BDB0", VA = "0x18077CDB0")]
public WebSocketReceiveResult(int count, WebSocketMessageType messageType, bool endOfMessage)
{
}
/// <summary>Creates an instance of the <see cref="T:System.Net.WebSockets.WebSocketReceiveResult" /> class.</summary>
/// <param name="count">The number of bytes received.</param>
/// <param name="messageType">The type of message that was received.</param>
/// <param name="endOfMessage">Indicates whether this is the final message.</param>
/// <param name="closeStatus">Indicates the <see cref="T:System.Net.WebSockets.WebSocketCloseStatus" /> of the connection.</param>
/// <param name="closeStatusDescription">The description of <paramref name="closeStatus" />.</param>
// Token: 0x0600150C RID: 5388 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x600150C")]
[Address(RVA = "0x77CD00", Offset = "0x77BD00", VA = "0x18077CD00")]
public WebSocketReceiveResult(int count, WebSocketMessageType messageType, bool endOfMessage, WebSocketCloseStatus? closeStatus, string closeStatusDescription)
{
}
/// <summary>Indicates the number of bytes that the WebSocket received.</summary>
/// <returns>Returns <see cref="T:System.Int32" />.</returns>
// Token: 0x17000442 RID: 1090
// (get) Token: 0x0600150D RID: 5389 RVA: 0x00009648 File Offset: 0x00007848
[Token(Token = "0x17000442")]
public int Count
{
[Token(Token = "0x600150D")]
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")]
[CompilerGenerated]
get
{
return 0;
}
}
/// <summary>Indicates whether the message has been received completely.</summary>
/// <returns>Returns <see cref="T:System.Boolean" />.</returns>
// Token: 0x17000443 RID: 1091
// (get) Token: 0x0600150E RID: 5390 RVA: 0x00009660 File Offset: 0x00007860
[Token(Token = "0x17000443")]
public bool EndOfMessage
{
[Token(Token = "0x600150E")]
[Address(RVA = "0x4987D0", Offset = "0x4977D0", VA = "0x1804987D0")]
[CompilerGenerated]
get
{
return default(bool);
}
}
/// <summary>Indicates whether the current message is a UTF-8 message or a binary message.</summary>
/// <returns>Returns <see cref="T:System.Net.WebSockets.WebSocketMessageType" />.</returns>
// Token: 0x17000444 RID: 1092
// (get) Token: 0x0600150F RID: 5391 RVA: 0x00009678 File Offset: 0x00007878
[Token(Token = "0x17000444")]
public WebSocketMessageType MessageType
{
[Token(Token = "0x600150F")]
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
[CompilerGenerated]
get
{
return WebSocketMessageType.Text;
}
}
/// <summary>Indicates the reason why the remote endpoint initiated the close handshake.</summary>
/// <returns>Returns <see cref="T:System.Net.WebSockets.WebSocketCloseStatus" />.</returns>
// Token: 0x17000445 RID: 1093
// (get) Token: 0x06001510 RID: 5392 RVA: 0x00009690 File Offset: 0x00007890
[Token(Token = "0x17000445")]
public WebSocketCloseStatus? CloseStatus
{
[Token(Token = "0x6001510")]
[Address(RVA = "0x77CDD0", Offset = "0x77BDD0", VA = "0x18077CDD0")]
[CompilerGenerated]
get
{
return null;
}
}
/// <summary>Returns the optional description that describes why the close handshake has been initiated by the remote endpoint.</summary>
/// <returns>Returns <see cref="T:System.String" />.</returns>
// Token: 0x17000446 RID: 1094
// (get) Token: 0x06001511 RID: 5393 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x17000446")]
public string CloseStatusDescription
{
[Token(Token = "0x6001511")]
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
[CompilerGenerated]
get
{
return null;
}
}
}
}
+40
View File
@@ -0,0 +1,40 @@
using System;
using Cpp2IlInjected;
namespace System.Net.WebSockets
{
/// <summary>Defines the different states a WebSockets instance can be in.</summary>
// Token: 0x0200032C RID: 812
[Token(Token = "0x200032C")]
public enum WebSocketState
{
/// <summary>Reserved for future use.</summary>
// Token: 0x04000DFA RID: 3578
[Token(Token = "0x4000DFA")]
None,
/// <summary>The connection is negotiating the handshake with the remote endpoint.</summary>
// Token: 0x04000DFB RID: 3579
[Token(Token = "0x4000DFB")]
Connecting,
/// <summary>The initial state after the HTTP handshake has been completed.</summary>
// Token: 0x04000DFC RID: 3580
[Token(Token = "0x4000DFC")]
Open,
/// <summary>A close message was sent to the remote endpoint.</summary>
// Token: 0x04000DFD RID: 3581
[Token(Token = "0x4000DFD")]
CloseSent,
/// <summary>A close message was received from the remote endpoint.</summary>
// Token: 0x04000DFE RID: 3582
[Token(Token = "0x4000DFE")]
CloseReceived,
/// <summary>Indicates the WebSocket close handshake completed gracefully.</summary>
// Token: 0x04000DFF RID: 3583
[Token(Token = "0x4000DFF")]
Closed,
/// <summary>Reserved for future use.</summary>
// Token: 0x04000E00 RID: 3584
[Token(Token = "0x4000E00")]
Aborted
}
}
@@ -0,0 +1,38 @@
using System;
using Cpp2IlInjected;
namespace System.Net.WebSockets
{
// Token: 0x0200031A RID: 794
[Token(Token = "0x200031A")]
internal static class WebSocketValidate
{
// Token: 0x060014B7 RID: 5303 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014B7")]
[Address(RVA = "0x77CDE0", Offset = "0x77BDE0", VA = "0x18077CDE0")]
internal static void ThrowIfInvalidState(WebSocketState currentState, bool isDisposed, WebSocketState[] validStates)
{
}
// Token: 0x060014B8 RID: 5304 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014B8")]
[Address(RVA = "0x77D240", Offset = "0x77C240", VA = "0x18077D240")]
internal static void ValidateSubprotocol(string subProtocol)
{
}
// Token: 0x060014B9 RID: 5305 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014B9")]
[Address(RVA = "0x77D060", Offset = "0x77C060", VA = "0x18077D060")]
internal static void ValidateCloseStatus(WebSocketCloseStatus closeStatus, string statusDescription)
{
}
// Token: 0x060014BA RID: 5306 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x60014BA")]
[Address(RVA = "0x77CF30", Offset = "0x77BF30", VA = "0x18077CF30")]
internal static void ValidateArraySegment(ArraySegment<byte> arraySegment, string parameterName)
{
}
}
}