using System; using System.IO; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001BE0 RID: 7136 [Token(Token = "0x2001BE0")] public class ByteQueueStream : Stream { // Token: 0x0600AFBE RID: 44990 RVA: 0x0025FC90 File Offset: 0x0025DE90 [Token(Token = "0x600AFBE")] [Address(RVA = "0x232E8A0", Offset = "0x232D8A0", VA = "0x18232E8A0")] public ByteQueueStream() { ByteQueue byteQueue = new ByteQueue(); byte[] array = new byte[1024]; byteQueue.databuf = array; this.buffer = byteQueue; } // Token: 0x17001BE3 RID: 7139 // (get) Token: 0x0600AFBF RID: 44991 RVA: 0x0025FCC8 File Offset: 0x0025DEC8 [Token(Token = "0x17001BE3")] public virtual int Available { [Token(Token = "0x600AFBF")] [Address(RVA = "0x232E960", Offset = "0x232D960", VA = "0x18232E960", Slot = "31")] get { return this.buffer.available; } } // Token: 0x17001BE4 RID: 7140 // (get) Token: 0x0600AFC0 RID: 44992 RVA: 0x0025FCE8 File Offset: 0x0025DEE8 [Token(Token = "0x17001BE4")] public override bool CanRead { [Token(Token = "0x600AFC0")] [Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "7")] get { return true; } } // Token: 0x17001BE5 RID: 7141 // (get) Token: 0x0600AFC1 RID: 44993 RVA: 0x0025FCF8 File Offset: 0x0025DEF8 [Token(Token = "0x17001BE5")] public override bool CanSeek { [Token(Token = "0x600AFC1")] [Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "8")] get { } } // Token: 0x17001BE6 RID: 7142 // (get) Token: 0x0600AFC2 RID: 44994 RVA: 0x0025FD08 File Offset: 0x0025DF08 [Token(Token = "0x17001BE6")] public override bool CanWrite { [Token(Token = "0x600AFC2")] [Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "9")] get { return true; } } // Token: 0x0600AFC3 RID: 44995 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600AFC3")] [Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "17")] public override void Flush() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x17001BE7 RID: 7143 // (get) Token: 0x0600AFC4 RID: 44996 RVA: 0x0025FD18 File Offset: 0x0025DF18 [Token(Token = "0x17001BE7")] public override long Length { [Token(Token = "0x600AFC4")] [Address(RVA = "0x232E980", Offset = "0x232D980", VA = "0x18232E980", Slot = "10")] get { /* An exception occurred when decompiling this method (0600AFC4) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::get_Length() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.ctor)) } 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: 0x0600AFC5 RID: 44997 RVA: 0x0025FD2C File Offset: 0x0025DF2C [Token(Token = "0x600AFC5")] [Address(RVA = "0x232E3C0", Offset = "0x232D3C0", VA = "0x18232E3C0", Slot = "32")] public virtual int Peek(byte[] buf) { int num = this.buffer.available; int length = buf.Length; int num2 = Math.Min(num, length); ByteQueue byteQueue = this.buffer; num = num2; int num3 = 0; int num4 = 0; byteQueue.Read(buf, num4, num, num3); return num; } // Token: 0x17001BE8 RID: 7144 // (get) Token: 0x0600AFC6 RID: 44998 RVA: 0x0025FD78 File Offset: 0x0025DF78 // (set) Token: 0x0600AFC7 RID: 44999 RVA: 0x0025FD8C File Offset: 0x0025DF8C [Token(Token = "0x17001BE8")] public override long Position { [Token(Token = "0x600AFC6")] [Address(RVA = "0x232E9D0", Offset = "0x232D9D0", VA = "0x18232E9D0", Slot = "11")] get { /* An exception occurred when decompiling this method (0600AFC6) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::get_Position() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.ctor)) } 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(Token = "0x600AFC7")] [Address(RVA = "0x232EA20", Offset = "0x232DA20", VA = "0x18232EA20", Slot = "12")] set { /* An exception occurred when decompiling this method (0600AFC7) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::set_Position(System.Int64) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.ctor)) } 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: 0x0600AFC8 RID: 45000 RVA: 0x0025FDA0 File Offset: 0x0025DFA0 [Token(Token = "0x600AFC8")] [Address(RVA = "0x232E610", Offset = "0x232D610", VA = "0x18232E610", Slot = "33")] public virtual int Read(byte[] buf) { throw new NullReferenceException(); } // Token: 0x0600AFC9 RID: 45001 RVA: 0x0025FDB4 File Offset: 0x0025DFB4 [Token(Token = "0x600AFC9")] [Address(RVA = "0x232E540", Offset = "0x232D540", VA = "0x18232E540", Slot = "27")] public override int Read(byte[] buf, int off, int len) { int num = this.buffer.available; int num2 = Math.Min(num, len); ByteQueue byteQueue = this.buffer; num = num2; int num3 = 0; byteQueue.Read(buf, off, len, num3); byteQueue.RemoveData(num); return num; } // Token: 0x0600AFCA RID: 45002 RVA: 0x0025FDF8 File Offset: 0x0025DFF8 [Token(Token = "0x600AFCA")] [Address(RVA = "0x232E470", Offset = "0x232D470", VA = "0x18232E470", Slot = "28")] public override int ReadByte() { ByteQueue byteQueue = this.buffer; if (byteQueue.available != 0) { byte[] array = new byte[1]; int num = 0; int num2 = 0; byteQueue.Read(array, num, 1, num2); byteQueue.RemoveData(1); byte b = array[0]; } return -1; } // Token: 0x0600AFCB RID: 45003 RVA: 0x0025FE44 File Offset: 0x0025E044 [Token(Token = "0x600AFCB")] [Address(RVA = "0x232E650", Offset = "0x232D650", VA = "0x18232E650", Slot = "25")] public override long Seek(long offset, SeekOrigin origin) { /* An exception occurred when decompiling this method (0600AFCB) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::Seek(System.Int64,System.IO.SeekOrigin) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.ctor)) } 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: 0x0600AFCC RID: 45004 RVA: 0x0025FE58 File Offset: 0x0025E058 [Token(Token = "0x600AFCC")] [Address(RVA = "0x232E6A0", Offset = "0x232D6A0", VA = "0x18232E6A0", Slot = "26")] public override void SetLength(long value) { /* An exception occurred when decompiling this method (0600AFCC) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::SetLength(System.Int64) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.ctor)) } 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: 0x0600AFCD RID: 45005 RVA: 0x0025FE6C File Offset: 0x0025E06C [Token(Token = "0x600AFCD")] [Address(RVA = "0x232E6F0", Offset = "0x232D6F0", VA = "0x18232E6F0", Slot = "34")] public virtual int Skip(int n) { int num = this.buffer.available; int num2 = Math.Min(num, n); ByteQueue byteQueue = this.buffer; num = num2; byteQueue.RemoveData(n); return num; } // Token: 0x0600AFCE RID: 45006 RVA: 0x0025FEA8 File Offset: 0x0025E0A8 [Token(Token = "0x600AFCE")] [Address(RVA = "0x232E830", Offset = "0x232D830", VA = "0x18232E830", Slot = "35")] public virtual void Write(byte[] buf) { ByteQueue byteQueue = this.buffer; int length = buf.Length; int num = 0; byteQueue.AddData(buf, num, length); } // Token: 0x0600AFCF RID: 45007 RVA: 0x0025FED4 File Offset: 0x0025E0D4 [Token(Token = "0x600AFCF")] [Address(RVA = "0x232E870", Offset = "0x232D870", VA = "0x18232E870", Slot = "29")] public override void Write(byte[] buf, int off, int len) { this.buffer.AddData(buf, off, len); } // Token: 0x0600AFD0 RID: 45008 RVA: 0x0025FEF8 File Offset: 0x0025E0F8 [Token(Token = "0x600AFD0")] [Address(RVA = "0x232E790", Offset = "0x232D790", VA = "0x18232E790", Slot = "30")] public override void WriteByte(byte b) { ByteQueue byteQueue = this.buffer; byte[] array = new byte[] { b }; int num = 0; byteQueue.AddData(array, num, 1); } // Token: 0x04006EBE RID: 28350 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4006EBE")] private readonly ByteQueue buffer; } }