terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
CommandStream.cs
Go to the documentation of this file.
1using System;
3using System.IO;
5using System.Text;
8
9namespace System.Net
10{
11 // Token: 0x02000143 RID: 323
13 {
14 // Token: 0x060007DE RID: 2014 RVA: 0x0001B628 File Offset: 0x00019828
15 internal CommandStream(global::System.Net.Sockets.TcpClient client)
16 {
19 base..ctor(client);
20 Encoding encoding = this._encoding;
21 this._decoder = encoding;
22 }
23
24 // Token: 0x060007DF RID: 2015 RVA: 0x0001B65C File Offset: 0x0001985C
25 internal virtual void Abort(Exception e)
26 {
27 if (!true)
28 {
29 }
31 if (!true)
32 {
33 }
34 NetEventSource.Info(this, "closing control Stream", "Abort");
35 if (this._aborted)
36 {
37 return;
38 }
39 long num = 0L;
40 this._aborted = true;
41 if (true)
42 {
43 Monitor.Exit(this);
44 }
45 if (num == 0L)
46 {
47 if (5 == 0)
48 {
49 long num2 = 0L;
50 base.Close((int)num2);
51 long num3 = 0L;
52 if (e != null)
53 {
54 return;
55 }
56 long num4 = 0L;
57 this.InvokeRequestCallback(num4);
58 if (num3 != 0L)
59 {
60 goto IL_005B;
61 }
62 }
63 return;
64 }
65 IL_005B:
66 throw new OutOfMemoryException();
67 }
68
69 // Token: 0x060007E0 RID: 2016 RVA: 0x0001B710 File Offset: 0x00019910
70 protected override void Dispose(bool disposing)
71 {
72 if (!true)
73 {
74 }
76 if (!true)
77 {
78 }
79 long num = 0L;
80 this.InvokeRequestCallback(num);
81 }
82
83 // Token: 0x060007E1 RID: 2017 RVA: 0x0001B734 File Offset: 0x00019934
84 protected void InvokeRequestCallback(object obj)
85 {
86 if (this._request != null)
87 {
88 return;
89 }
90 }
91
92 // Token: 0x170001A1 RID: 417
93 // (get) Token: 0x060007E2 RID: 2018 RVA: 0x0001B750 File Offset: 0x00019950
94 internal bool RecoverableFailure
95 {
96 get
97 {
98 return this._recoverableFailure;
99 }
100 }
101
102 // Token: 0x060007E3 RID: 2019 RVA: 0x0001B764 File Offset: 0x00019964
104 {
105 int index = this._index;
107 }
108
109 // Token: 0x060007E4 RID: 2020 RVA: 0x0001B780 File Offset: 0x00019980
111 {
112 return this.ContinueCommandPipeline();
113 }
114
115 // Token: 0x060007E5 RID: 2021 RVA: 0x0001B794 File Offset: 0x00019994
116 protected virtual void ClearState()
117 {
118 }
119
120 // Token: 0x060007E6 RID: 2022 RVA: 0x0001B7A4 File Offset: 0x000199A4
122 {
123 }
124
125 // Token: 0x060007E7 RID: 2023 RVA: 0x00002050 File Offset: 0x00000250
127 {
128 throw new global::Cpp2IlInjected.AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
129 }
130
131 // Token: 0x060007E8 RID: 2024 RVA: 0x0001B7B4 File Offset: 0x000199B4
132 protected Exception GenerateException(FtpStatusCode code, string statusDescription, Exception innerException)
133 {
134 /*
135An exception occurred when decompiling this method (060007E8)
136
137ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Exception System.Net.CommandStream::GenerateException(System.Net.FtpStatusCode,System.String,System.Exception)
138
139 ---> System.Exception: Basic block has to end with unconditional control flow.
140{
141 Block_0:
142 stloc:string(var_0_07, call:string(NetRes::GetWebStatusCodeString, ldloc:FtpStatusCode(code), ldloc:string(statusDescription)))
143 stloc:string(var_1_13, call:string(SR::Format, ldstr:string("The remote server returned an error: {0}."), ldloc:string[exp:object](var_0_07)))
144}
145
146 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
147 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
148 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
149 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
150 --- End of inner exception stack trace ---
151 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
152 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 1683
153*/;
154 }
155
156 // Token: 0x060007E9 RID: 2025 RVA: 0x0001B7D4 File Offset: 0x000199D4
158 {
160 this._doRead = 257 != 0;
161 }
162
163 // Token: 0x060007EA RID: 2026 RVA: 0x0001B7F4 File Offset: 0x000199F4
164 internal void CheckContinuePipeline()
165 {
166 if (!this._isAsync)
167 {
168 Stream stream = this.ContinueCommandPipeline();
169 }
170 }
171
172 // Token: 0x060007EB RID: 2027 RVA: 0x0001B814 File Offset: 0x00019A14
174 {
175 bool isAsync = this._isAsync;
178 if (this._doSend)
179 {
180 Encoding encoding = this._encoding;
181 string command = commands.Command;
182 int stringLength = this._commands.Command._stringLength;
184 int num = 32;
185 string text;
186 int num2 = text.IndexOf((char)num);
187 long num3 = 0L;
188 string text2 = text.Substring((int)num3, num2) + " ********";
190 {
191 }
193 if (text2 != null && text2 == null)
194 {
195 goto IL_00C3;
196 }
198 NetEventSource.Info(this, formattableString, "ContinueCommandPipeline");
199 if (isAsync)
200 {
201 CodePageDataItem dataItem = encoding.dataItem;
202 goto IL_00C0;
203 }
205 }
206 long num4 = 0L;
207 Monitor.Exit(this);
208 if (num4 != 0L)
209 {
210 throw new OutOfMemoryException();
211 }
212 IL_00C0:
213 IL_00C3:
214 throw new ArrayTypeMismatchException();
215 }
216
217 // Token: 0x060007EC RID: 2028 RVA: 0x0001B914 File Offset: 0x00019B14
219 {
220 if (this._doRead)
221 {
222 bool isAsync = this._isAsync;
225 int num;
226 if (isAsync)
227 {
228 num = 1;
229 }
231 }
232 return this.PostReadCommandProcessing(stream);
233 }
234
235 // Token: 0x060007ED RID: 2029 RVA: 0x0001B974 File Offset: 0x00019B74
237 {
239 return "QUIT\r\n" != null;
240 }
241
242 // Token: 0x060007EE RID: 2030 RVA: 0x0001BA18 File Offset: 0x00019C18
244 {
245 }
246
247 // Token: 0x060007EF RID: 2031 RVA: 0x0001BA28 File Offset: 0x00019C28
248 private static void ReadCallback(IAsyncResult asyncResult)
249 {
250 }
251
252 // Token: 0x060007F0 RID: 2032 RVA: 0x0001BA68 File Offset: 0x00019C68
253 private static void WriteCallback(IAsyncResult asyncResult)
254 {
255 }
256
257 // Token: 0x170001A2 RID: 418
258 // (get) Token: 0x060007F1 RID: 2033 RVA: 0x0001BAA0 File Offset: 0x00019CA0
259 // (set) Token: 0x060007F2 RID: 2034 RVA: 0x0001BAB4 File Offset: 0x00019CB4
261 {
262 get
263 {
264 return this._encoding;
265 }
266 set
267 {
270 }
271 }
272
273 // Token: 0x060007F3 RID: 2035 RVA: 0x0001BAD0 File Offset: 0x00019CD0
274 protected virtual bool CheckValid(ResponseDescription response, int validThrough, int completeLength)
275 {
276 }
277
278 // Token: 0x060007F4 RID: 2036 RVA: 0x0001BAE0 File Offset: 0x00019CE0
280 {
281 string buffer = this._buffer;
282 bool isAsync = this._isAsync;
283 if (isAsync)
284 {
285 if (!isAsync)
286 {
287 }
288 }
289 if (this == null)
290 {
291 base.CloseSocket();
292 }
293 throw new OutOfMemoryException();
294 }
295
296 // Token: 0x060007F5 RID: 2037 RVA: 0x0001BB38 File Offset: 0x00019D38
298 {
299 int validThrough = state.ValidThrough;
300 string buffer = this._buffer;
301 int stringLength = buffer._stringLength;
302 StringBuilder stringBuilder = state.Resp.StatusBuffer.Append(buffer);
304 byte[] buffer2 = state.Buffer;
305 if (!this._isAsync)
306 {
307 while (this != null)
308 {
309 }
310 base.CloseSocket();
311 return;
312 }
313 int num;
314 if (num == 0)
315 {
316 }
317 }
318
319 // Token: 0x060007F6 RID: 2038 RVA: 0x0001BCB0 File Offset: 0x00019EB0
320 // Note: this type is marked as 'beforefieldinit'.
322 {
323 }
324
325 // Token: 0x0400064E RID: 1614
327
328 // Token: 0x0400064F RID: 1615
330
331 // Token: 0x04000650 RID: 1616
333
334 // Token: 0x04000651 RID: 1617
336
337 // Token: 0x04000652 RID: 1618
338 protected bool _isAsync;
339
340 // Token: 0x04000653 RID: 1619
341 private bool _aborted;
342
343 // Token: 0x04000654 RID: 1620
345
346 // Token: 0x04000655 RID: 1621
347 protected int _index;
348
349 // Token: 0x04000656 RID: 1622
350 private bool _doRead;
351
352 // Token: 0x04000657 RID: 1623
353 private bool _doSend;
354
355 // Token: 0x04000658 RID: 1624
357
358 // Token: 0x04000659 RID: 1625
359 protected string _abortReason;
360
361 // Token: 0x0400065A RID: 1626
362 private const int WaitingForPipeline = 1;
363
364 // Token: 0x0400065B RID: 1627
365 private const int CompletedPipeline = 2;
366
367 // Token: 0x0400065C RID: 1628
368 private string _buffer;
369
370 // Token: 0x0400065D RID: 1629
372
373 // Token: 0x0400065E RID: 1630
375
376 // Token: 0x02000144 RID: 324
378 {
379 // Token: 0x04000660 RID: 1632
380 Abort,
381 // Token: 0x04000661 RID: 1633
382 Advance,
383 // Token: 0x04000662 RID: 1634
384 Pause,
385 // Token: 0x04000663 RID: 1635
386 Reread,
387 // Token: 0x04000664 RID: 1636
389 }
390
391 // Token: 0x02000145 RID: 325
392 [Flags]
393 internal enum PipelineEntryFlags
394 {
395 // Token: 0x04000666 RID: 1638
396 UserCommand = 1,
397 // Token: 0x04000667 RID: 1639
398 GiveDataStream = 2,
399 // Token: 0x04000668 RID: 1640
401 // Token: 0x04000669 RID: 1641
403 }
404
405 // Token: 0x02000146 RID: 326
406 internal class PipelineEntry
407 {
408 // Token: 0x060007F7 RID: 2039 RVA: 0x0001BCC4 File Offset: 0x00019EC4
409 internal PipelineEntry(string command)
410 {
411 this.Command = command;
412 }
413
414 // Token: 0x060007F8 RID: 2040 RVA: 0x0001BCE0 File Offset: 0x00019EE0
415 internal PipelineEntry(string command, CommandStream.PipelineEntryFlags flags)
416 {
417 this.Command = command;
418 this.Flags = flags;
419 }
420
421 // Token: 0x060007F9 RID: 2041 RVA: 0x0001BD04 File Offset: 0x00019F04
423 {
424 /*
425An exception occurred when decompiling this method (060007F9)
426
427ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Net.CommandStream/PipelineEntry::HasFlag(System.Net.CommandStream/PipelineEntryFlags)
428
429 ---> System.Exception: Basic block has to end with unconditional control flow.
430{
431 Block_0:
432 stloc:PipelineEntryFlags(var_0_06, ldfld:PipelineEntryFlags(PipelineEntry::Flags, ldloc:PipelineEntry(this)))
433}
434
435 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
436 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
437 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
438 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
439 --- End of inner exception stack trace ---
440 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
441 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 1683
442*/;
443 }
444
445 // Token: 0x0400066A RID: 1642
446 internal string Command;
447
448 // Token: 0x0400066B RID: 1643
450 }
451 }
452}
class f__AnonymousType0<< Count > j__TPar
PipelineEntry(string command, CommandStream.PipelineEntryFlags flags)
bool HasFlag(CommandStream.PipelineEntryFlags flags)
CommandStream.PipelineEntryFlags Flags
Exception GenerateException(FtpStatusCode code, string statusDescription, Exception innerException)
void ReceiveCommandResponseCallback(ReceiveState state, int bytesRead)
CommandStream(global::System.Net.Sockets.TcpClient client)
static readonly AsyncCallback s_writeCallbackDelegate
ResponseDescription _currentResponseDescription
static readonly AsyncCallback s_readCallbackDelegate
virtual bool CheckValid(ResponseDescription response, int validThrough, int completeLength)
CommandStream.PipelineEntry[] _commands
void InvokeRequestCallback(object obj)
void InitCommandPipeline(WebRequest request, CommandStream.PipelineEntry[] commands, bool isAsync)
bool PostReadCommandProcessing(Stream stream)
override void Dispose(bool disposing)
Stream SubmitRequest(WebRequest request, bool isAsync, bool readInitalResponseOnConnect)
virtual void Abort(Exception e)
static void WriteCallback(IAsyncResult asyncResult)
Exception GenerateException(string message, WebExceptionStatus status, Exception innerException)
ResponseDescription ReceiveCommandResponse()
static void ReadCallback(IAsyncResult asyncResult)
virtual CommandStream.PipelineEntry[] BuildCommandsList(WebRequest request)
virtual CommandStream.PipelineInstruction PipelineCallback(CommandStream.PipelineEntry entry, ResponseDescription response, bool timeout, Stream stream)
bool PostSendCommandProcessing(Stream stream)
static void Info(object thisOrContextObject, [Optional] FormattableString formattableString, [CallerMemberName][Optional] string memberName)
CodePageDataItem dataItem
Definition Encoding.cs:1017
static Encoding UTF8
Definition Encoding.cs:828
StringBuilder Append(char value, int repeatCount)
static void Exit(object obj)
Definition Monitor.cs:47