using System; using BestHTTP.Extensions; using BestHTTP.WebSocket.Extensions; using Cpp2IlInjected; namespace BestHTTP.WebSocket.Frames { // Token: 0x020018CD RID: 6349 [Token(Token = "0x20018CD")] public sealed class WebSocketFrame { // Token: 0x170017B9 RID: 6073 // (get) Token: 0x06009545 RID: 38213 RVA: 0x001EB948 File Offset: 0x001E9B48 // (set) Token: 0x06009546 RID: 38214 RVA: 0x001EB95C File Offset: 0x001E9B5C [Token(Token = "0x170017B9")] public WebSocketFrameTypes Type { [Token(Token = "0x6009545")] [Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0")] get; [Token(Token = "0x6009546")] [Address(RVA = "0x495D50", Offset = "0x494B50", VA = "0x180495D50")] private set; } // Token: 0x170017BA RID: 6074 // (get) Token: 0x06009547 RID: 38215 RVA: 0x001EB970 File Offset: 0x001E9B70 // (set) Token: 0x06009548 RID: 38216 RVA: 0x001EB984 File Offset: 0x001E9B84 [Token(Token = "0x170017BA")] public bool IsFinal { [Token(Token = "0x6009547")] [Address(RVA = "0x49E540", Offset = "0x49D340", VA = "0x18049E540")] get; [Token(Token = "0x6009548")] [Address(RVA = "0x756A50", Offset = "0x755850", VA = "0x180756A50")] private set; } // Token: 0x170017BB RID: 6075 // (get) Token: 0x06009549 RID: 38217 RVA: 0x001EB998 File Offset: 0x001E9B98 // (set) Token: 0x0600954A RID: 38218 RVA: 0x001EB9AC File Offset: 0x001E9BAC [Token(Token = "0x170017BB")] public byte Header { [Token(Token = "0x6009549")] [Address(RVA = "0x49E550", Offset = "0x49D350", VA = "0x18049E550")] get; [Token(Token = "0x600954A")] [Address(RVA = "0x756E70", Offset = "0x755C70", VA = "0x180756E70")] private set; } // Token: 0x170017BC RID: 6076 // (get) Token: 0x0600954B RID: 38219 RVA: 0x001EB9C0 File Offset: 0x001E9BC0 // (set) Token: 0x0600954C RID: 38220 RVA: 0x001EB9D4 File Offset: 0x001E9BD4 [Token(Token = "0x170017BC")] public byte[] Data { [Token(Token = "0x600954B")] [Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")] get; [Token(Token = "0x600954C")] [Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")] private set; } // Token: 0x170017BD RID: 6077 // (get) Token: 0x0600954D RID: 38221 RVA: 0x001EB9E8 File Offset: 0x001E9BE8 // (set) Token: 0x0600954E RID: 38222 RVA: 0x001EB9FC File Offset: 0x001E9BFC [Token(Token = "0x170017BD")] public int DataLength { [Token(Token = "0x600954D")] [Address(RVA = "0x3F7310", Offset = "0x3F6110", VA = "0x1803F7310")] get; [Token(Token = "0x600954E")] [Address(RVA = "0x420360", Offset = "0x41F160", VA = "0x180420360")] private set; } // Token: 0x170017BE RID: 6078 // (get) Token: 0x0600954F RID: 38223 RVA: 0x001EBA10 File Offset: 0x001E9C10 // (set) Token: 0x06009550 RID: 38224 RVA: 0x001EBA24 File Offset: 0x001E9C24 [Token(Token = "0x170017BE")] public bool UseExtensions { [Token(Token = "0x600954F")] [Address(RVA = "0x431BC0", Offset = "0x4309C0", VA = "0x180431BC0")] get; [Token(Token = "0x6009550")] [Address(RVA = "0x431D60", Offset = "0x430B60", VA = "0x180431D60")] private set; } // Token: 0x06009551 RID: 38225 RVA: 0x001EBA38 File Offset: 0x001E9C38 [Token(Token = "0x6009551")] [Address(RVA = "0x1C41980", Offset = "0x1C40780", VA = "0x181C41980")] public WebSocketFrame(WebSocket webSocket, WebSocketFrameTypes type, byte[] data) { if (data != 0) { } } // Token: 0x06009552 RID: 38226 RVA: 0x001EBA54 File Offset: 0x001E9C54 [Token(Token = "0x6009552")] [Address(RVA = "0x1C418D0", Offset = "0x1C406D0", VA = "0x181C418D0")] public WebSocketFrame(WebSocket webSocket, WebSocketFrameTypes type, byte[] data, bool useExtensions) { if (data != 0) { } } // Token: 0x06009553 RID: 38227 RVA: 0x001EBA70 File Offset: 0x001E9C70 [Token(Token = "0x6009553")] [Address(RVA = "0x1C41920", Offset = "0x1C40720", VA = "0x181C41920")] public WebSocketFrame(WebSocket webSocket, WebSocketFrameTypes type, byte[] data, bool isFinal, bool useExtensions) { if (data != 0) { } } // Token: 0x06009554 RID: 38228 RVA: 0x001EBA8C File Offset: 0x001E9C8C [Token(Token = "0x6009554")] [Address(RVA = "0x1C416E0", Offset = "0x1C404E0", VA = "0x181C416E0")] public WebSocketFrame(WebSocket webSocket, WebSocketFrameTypes type, byte[] data, ulong pos, ulong length, bool isFinal, bool useExtensions) { this.IsFinal = false; this.Type = type; int num = 0; this.UseExtensions = false; this.DataLength = 0; if (data == 0) { } int num2 = this.k__BackingField; byte[] array; this.Data = array; this.Header = data; if ((this.k__BackingField ? 1 : 0) != num && webSocket != 0 && webSocket.k__BackingField != num) { IExtension[] k__BackingField = webSocket.k__BackingField; int length2 = k__BackingField.Length; if (num < length2) { if (k__BackingField[num] != 0) { byte b = this.
k__BackingField; this.Header = (byte)num; byte[] array2 = this.k__BackingField; if (num != array2) { VariableSizedBufferPool.Release(array2); this.Data = num; this.DataLength = num; } } num++; } } } // Token: 0x06009555 RID: 38229 RVA: 0x001EBB48 File Offset: 0x001E9D48 [Token(Token = "0x6009555")] [Address(RVA = "0x1C41310", Offset = "0x1C40110", VA = "0x181C41310")] public RawFrameData Get() { int num; do { num = 0; byte[] noData = VariableSizedBufferPool.NoData; byte[] array; int length = array.Length; int num2 = 0; Array.Reverse(array, num2, length); byte[] array2; int length2 = array2.Length; int num3 = 0; Array.Reverse(array2, num3, length2); BufferPoolMemoryStream bufferPoolMemoryStream; int num4 = bufferPoolMemoryStream.ReadByte(); int num5 = bufferPoolMemoryStream.ReadByte(); if (num < "{il2cpp array field il2cppMethodInfo->}") { num++; num++; } byte[] array3 = bufferPoolMemoryStream.ToArray(true); bool canWrite = bufferPoolMemoryStream.CanWrite; if (bufferPoolMemoryStream != 0) { } } while (num != 0); throw new NullReferenceException(); } // Token: 0x06009556 RID: 38230 RVA: 0x001EBBF8 File Offset: 0x001E9DF8 [Token(Token = "0x6009556")] [Address(RVA = "0x1C41110", Offset = "0x1C3FF10", VA = "0x181C41110")] public WebSocketFrame[] Fragment(ushort maxFragmentSize) { if (this.k__BackingField != (ulong)0L) { WebSocketFrameTypes webSocketFrameTypes = this.k__BackingField; if (this.k__BackingField > (int)maxFragmentSize) { WebSocketFrame[] array = new WebSocketFrame[(int)maxFragmentSize]; int num = this.k__BackingField; if ((int)maxFragmentSize < num) { num -= (int)maxFragmentSize; ulong num2 = Math.Min((ulong)maxFragmentSize, (ulong)num); int num3 = this.k__BackingField; throw new ArrayTypeMismatchException(); } this.k__BackingField = (int)maxFragmentSize; return array; } } throw new IndexOutOfRangeException(); } } }