Files
2026-04-10 22:50:51 +02:00

229 lines
7.1 KiB
C#

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.<DataLength>k__BackingField;
byte[] array;
this.Data = array;
this.Header = data;
if ((this.<UseExtensions>k__BackingField ? 1 : 0) != num && webSocket != 0 && webSocket.<Extensions>k__BackingField != num)
{
IExtension[] <Extensions>k__BackingField = webSocket.<Extensions>k__BackingField;
int length2 = <Extensions>k__BackingField.Length;
if (num < length2)
{
if (<Extensions>k__BackingField[num] != 0)
{
byte b = this.<Header>k__BackingField;
this.Header = (byte)num;
byte[] array2 = this.<Data>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.<Data>k__BackingField != (ulong)0L)
{
WebSocketFrameTypes webSocketFrameTypes = this.<Type>k__BackingField;
if (this.<DataLength>k__BackingField > (int)maxFragmentSize)
{
WebSocketFrame[] array = new WebSocketFrame[(int)maxFragmentSize];
int num = this.<DataLength>k__BackingField;
if ((int)maxFragmentSize < num)
{
num -= (int)maxFragmentSize;
ulong num2 = Math.Min((ulong)maxFragmentSize, (ulong)num);
int num3 = this.<DataLength>k__BackingField;
throw new ArrayTypeMismatchException();
}
this.<DataLength>k__BackingField = (int)maxFragmentSize;
return array;
}
}
throw new IndexOutOfRangeException();
}
}
}