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
ServicePointScheduler.cs
Go to the documentation of this file.
1using System;
9
10namespace System.Net
11{
12 // Token: 0x02000272 RID: 626
13 internal class ServicePointScheduler
14 {
15 // Token: 0x170003EE RID: 1006
16 // (get) Token: 0x06001129 RID: 4393 RVA: 0x00035984 File Offset: 0x00033B84
17 // (set) Token: 0x0600112A RID: 4394 RVA: 0x00035998 File Offset: 0x00033B98
19 {
21 get
22 {
23 return this.<ServicePoint>k__BackingField;
24 }
26 set
27 {
29 }
30 }
31
32 // Token: 0x170003EF RID: 1007
33 // (get) Token: 0x0600112B RID: 4395 RVA: 0x000359AC File Offset: 0x00033BAC
34 // (set) Token: 0x0600112C RID: 4396 RVA: 0x000359C0 File Offset: 0x00033BC0
35 public int MaxIdleTime
36 {
37 get
38 {
39 return this.maxIdleTime;
40 }
41 set
42 {
43 int num = this.maxIdleTime;
44 }
45 }
46
47 // Token: 0x170003F0 RID: 1008
48 // (get) Token: 0x0600112D RID: 4397 RVA: 0x000359E4 File Offset: 0x00033BE4
49 // (set) Token: 0x0600112E RID: 4398 RVA: 0x000359F8 File Offset: 0x00033BF8
50 public int ConnectionLimit
51 {
52 get
53 {
54 return this.connectionLimit;
55 }
56 set
57 {
58 int num = this.connectionLimit;
59 }
60 }
61
62 // Token: 0x0600112F RID: 4399 RVA: 0x00035A1C File Offset: 0x00033C1C
64 {
65 int num = 34464;
66 this.maxIdleTime = num;
67 base..ctor();
68 this.ServicePoint = servicePoint;
73 }
74
75 // Token: 0x06001130 RID: 4400 RVA: 0x00035A64 File Offset: 0x00033C64
76 [Conditional("MONO_WEB_DEBUG")]
77 private void Debug(string message)
78 {
79 }
80
81 // Token: 0x170003F1 RID: 1009
82 // (get) Token: 0x06001131 RID: 4401 RVA: 0x00035A74 File Offset: 0x00033C74
84 {
85 get
86 {
87 return this.currentConnections;
88 }
89 }
90
91 // Token: 0x170003F2 RID: 1010
92 // (get) Token: 0x06001132 RID: 4402 RVA: 0x00035A88 File Offset: 0x00033C88
94 {
95 get
96 {
97 DateTime dateTime = this.idleSince;
99 return dateTime2;
100 }
101 }
102
103 // Token: 0x170003F3 RID: 1011
104 // (get) Token: 0x06001133 RID: 4403 RVA: 0x00035AA0 File Offset: 0x00033CA0
105 internal string ME
106 {
108 get
109 {
110 return this.<ME>k__BackingField;
111 }
112 }
113
114 // Token: 0x06001134 RID: 4404 RVA: 0x00035AB4 File Offset: 0x00033CB4
115 public void Run()
116 {
117 int num = 1;
118 long num2 = 0L;
119 if (Interlocked.CompareExchange(0, num, (int)num2) == 0)
120 {
121 }
122 this.schedulerEvent.Set();
123 }
124
125 // Token: 0x06001135 RID: 4405 RVA: 0x00035ADC File Offset: 0x00033CDC
132
133 // Token: 0x06001136 RID: 4406 RVA: 0x00035AF4 File Offset: 0x00033CF4
134 private void Cleanup()
135 {
136 if (this.groups != null)
137 {
142 if (this.groups == null)
143 {
144 }
145 }
146 }
147
148 // Token: 0x06001137 RID: 4407 RVA: 0x00035B30 File Offset: 0x00033D30
150 {
151 this.schedulerEvent.Reset();
153 bool flag = this.SchedulerIteration(connectionGroup);
154 if (this.groups != null)
155 {
156 return;
157 }
158 }
159
160 // Token: 0x06001138 RID: 4408 RVA: 0x00035B74 File Offset: 0x00033D74
162 {
163 WebCompletionSource.Result currentResult = operation.finishedTask.currentResult;
164 bool success = currentResult.Success;
165 WebConnection <Connection>k__BackingField = operation.<Connection>k__BackingField;
166 if (currentResult != null)
167 {
168 bool flag;
169 return flag;
170 }
172 WebConnection <Connection>k__BackingField2 = operation.<Connection>k__BackingField;
173 global::System.Collections.Generic.LinkedList<ValueTuple<ServicePointScheduler.ConnectionGroup, WebConnection, Task>> linkedList = this.idleConnections;
174 return true;
175 }
176
177 // Token: 0x06001139 RID: 4409 RVA: 0x00035C00 File Offset: 0x00033E00
179 {
180 group.RemoveConnection(connection);
181 this.RemoveIdleConnection(connection);
182 }
183
184 // Token: 0x0600113A RID: 4410 RVA: 0x00035C1C File Offset: 0x00033E1C
186 {
187 group.Cleanup();
188 WebOperation nextOperation = group.GetNextOperation();
189 if (nextOperation != null)
190 {
191 long num = 0L;
192 if (group.CreateOrReuseConnection(nextOperation, num != 0L) != null)
193 {
194 global::System.Collections.Generic.LinkedList<ValueTuple<ServicePointScheduler.ConnectionGroup, WebOperation>> linkedList = this.operations;
195 }
196 }
197 return true;
198 }
199
200 // Token: 0x0600113B RID: 4411 RVA: 0x00035C50 File Offset: 0x00033E50
201 private void RemoveOperation(WebOperation operation)
202 {
203 global::System.Collections.Generic.LinkedListNode head = this.operations.head;
204 if (head != null)
205 {
206 global::System.Collections.Generic.LinkedListNode next = head.Next;
207 this.operations.Remove(head);
208 while (next != null)
209 {
210 }
211 }
212 }
213
214 // Token: 0x0600113C RID: 4412 RVA: 0x00035C84 File Offset: 0x00033E84
216 {
217 global::System.Collections.Generic.LinkedList<ValueTuple<ServicePointScheduler.ConnectionGroup, WebConnection, Task>> linkedList = this.idleConnections;
218 global::System.Collections.Generic.LinkedList<ValueTuple<ServicePointScheduler.ConnectionGroup, WebConnection, Task>> linkedList2 = this.idleConnections;
219 }
220
221 // Token: 0x0600113D RID: 4413 RVA: 0x00035CA0 File Offset: 0x00033EA0
222 private void FinalCleanup()
223 {
224 ServicePoint servicePoint = this.<ServicePoint>k__BackingField;
226 if (!true)
227 {
228 }
230 }
231
232 // Token: 0x0600113E RID: 4414 RVA: 0x00035CC4 File Offset: 0x00033EC4
233 public void SendRequest(WebOperation operation, string groupName)
234 {
235 ServicePoint servicePoint = this.<ServicePoint>k__BackingField;
236 this.GetConnectionGroup(groupName).EnqueueOperation(operation);
237 this.Run();
238 long num = 0L;
239 Monitor.Exit(servicePoint);
240 if (num == 0L)
241 {
242 return;
243 }
244 throw new OutOfMemoryException();
245 }
246
247 // Token: 0x0600113F RID: 4415 RVA: 0x00035D18 File Offset: 0x00033F18
248 public bool CloseConnectionGroup(string groupName)
249 {
250 bool flag = string.IsNullOrEmpty(groupName);
252 this.Run();
253 return true;
254 }
255
256 // Token: 0x06001140 RID: 4416 RVA: 0x00035D5C File Offset: 0x00033F5C
258 {
259 ServicePoint servicePoint = this.<ServicePoint>k__BackingField;
260 bool flag = string.IsNullOrEmpty(name);
262 if (this.groups == null)
263 {
264 }
266 long num = 0L;
267 Monitor.Exit(servicePoint);
268 if (num == 0L)
269 {
270 return connectionGroup;
271 }
272 throw new OutOfMemoryException();
273 }
274
275 // Token: 0x06001141 RID: 4417 RVA: 0x00035DC0 File Offset: 0x00033FC0
279
280 // Token: 0x06001142 RID: 4418 RVA: 0x00035DD0 File Offset: 0x00033FD0
282 {
283 this.RemoveIdleConnection(connection);
284 }
285
286 // Token: 0x06001143 RID: 4419 RVA: 0x00035DE4 File Offset: 0x00033FE4
287 public static Task<bool> WaitAsync(Task workerTask, int millisecondTimeout)
288 {
289 /*
290An exception occurred when decompiling this method (06001143)
291
292ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Threading.Tasks.Task`1<System.Boolean> System.Net.ServicePointScheduler::WaitAsync(System.Threading.Tasks.Task,System.Int32)
293
294 ---> System.Exception: Basic block has to end with unconditional control flow.
295{
296 IL_0000:
297 brtrue(IL_0000, ldc.i4:bool(1))
298}
299
300 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
301 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
302 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
303 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
304 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
305 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
306 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
307 --- End of inner exception stack trace ---
308 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
309 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
310*/;
311 }
312
313 // Token: 0x06001144 RID: 4420 RVA: 0x00035DF4 File Offset: 0x00033FF4
316 {
317 return this.RunScheduler();
318 }
319
320 // Token: 0x04000D57 RID: 3415
323
324 // Token: 0x04000D58 RID: 3416
325 private int running;
326
327 // Token: 0x04000D59 RID: 3417
328 private int maxIdleTime;
329
330 // Token: 0x04000D5A RID: 3418
332
333 // Token: 0x04000D5B RID: 3419
335
336 // Token: 0x04000D5C RID: 3420
338
339 // Token: 0x04000D5D RID: 3421
340 private global::System.Collections.Generic.LinkedList<ValueTuple<ServicePointScheduler.ConnectionGroup, WebOperation>> operations;
341
342 // Token: 0x04000D5E RID: 3422
343 private global::System.Collections.Generic.LinkedList<ValueTuple<ServicePointScheduler.ConnectionGroup, WebConnection, Task>> idleConnections;
344
345 // Token: 0x04000D5F RID: 3423
347
348 // Token: 0x04000D60 RID: 3424
349 private int connectionLimit;
350
351 // Token: 0x04000D61 RID: 3425
353
354 // Token: 0x04000D62 RID: 3426
355 private static int nextId;
356
357 // Token: 0x04000D63 RID: 3427
358 public readonly int ID;
359
360 // Token: 0x04000D64 RID: 3428
362 private readonly string <ME>k__BackingField;
363
364 // Token: 0x02000273 RID: 627
365 private class ConnectionGroup
366 {
367 // Token: 0x170003F4 RID: 1012
368 // (get) Token: 0x06001145 RID: 4421 RVA: 0x00035E08 File Offset: 0x00034008
370 {
372 get
373 {
374 return this.<Scheduler>k__BackingField;
375 }
376 }
377
378 // Token: 0x170003F5 RID: 1013
379 // (get) Token: 0x06001146 RID: 4422 RVA: 0x00035E1C File Offset: 0x0003401C
380 public string Name
381 {
383 get
384 {
385 return this.<Name>k__BackingField;
386 }
387 }
388
389 // Token: 0x170003F6 RID: 1014
390 // (get) Token: 0x06001147 RID: 4423 RVA: 0x00035E30 File Offset: 0x00034030
391 public bool IsDefault
392 {
393 get
394 {
395 return string.IsNullOrEmpty(this.<Name>k__BackingField);
396 }
397 }
398
399 // Token: 0x06001148 RID: 4424 RVA: 0x00035E48 File Offset: 0x00034048
401 {
402 this.Scheduler = scheduler;
403 this.Name = name;
404 }
405
406 // Token: 0x06001149 RID: 4425 RVA: 0x00035E6C File Offset: 0x0003406C
407 public bool IsEmpty()
408 {
409 /*
410An exception occurred when decompiling this method (06001149)
411
412ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Net.ServicePointScheduler/ConnectionGroup::IsEmpty()
413
414 ---> System.Exception: Basic block has to end with unconditional control flow.
415{
416 IL_000F:
417 stloc:int32(var_1_1A, ldfld:int32(LinkedList`1::count, ldfld:class System.Collections.Generic.LinkedList`1<class System.Net.WebOperation>[exp:LinkedList`1](ConnectionGroup::queue, ldloc:ConnectionGroup(this))))
418}
419
420 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
421 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
422 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
423 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
424 --- End of inner exception stack trace ---
425 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
426 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
427*/;
428 }
429
430 // Token: 0x0600114A RID: 4426 RVA: 0x00035E94 File Offset: 0x00034094
432 {
433 global::System.Collections.Generic.LinkedList<WebConnection> linkedList = this.connections;
434 long num = 0L;
435 connection.Dispose(num != 0L);
436 this.<Scheduler>k__BackingField.RemoveIdleConnection(connection);
437 }
438
439 // Token: 0x0600114B RID: 4427 RVA: 0x00035EC0 File Offset: 0x000340C0
440 public void Cleanup()
441 {
442 global::System.Collections.Generic.LinkedList<WebConnection> linkedList = this.connections;
443 global::System.Collections.Generic.LinkedListNode head = linkedList.head;
444 if (head != null)
445 {
446 !0 item = head.item;
447 if (linkedList != null)
448 {
449 global::System.Collections.Generic.LinkedList<WebConnection> linkedList2 = this.connections;
451 }
452 while (head != null)
453 {
454 }
455 }
456 }
457
458 // Token: 0x0600114C RID: 4428 RVA: 0x00035EFC File Offset: 0x000340FC
459 public void Close()
460 {
461 global::System.Collections.Generic.LinkedList<WebOperation> linkedList = this.queue;
463 }
464
465 // Token: 0x0600114D RID: 4429 RVA: 0x00035F64 File Offset: 0x00034164
466 public void EnqueueOperation(WebOperation operation)
467 {
468 global::System.Collections.Generic.LinkedList<WebOperation> linkedList = this.queue;
469 }
470
471 // Token: 0x0600114E RID: 4430 RVA: 0x00035F78 File Offset: 0x00034178
473 {
474 global::System.Collections.Generic.LinkedListNode head = this.queue.head;
475 if (head != null)
476 {
477 !0 item = head.item;
478 global::System.Collections.Generic.LinkedList<WebOperation> linkedList = this.queue;
480 while (head != null)
481 {
482 }
483 return;
484 }
485 }
486
487 // Token: 0x0600114F RID: 4431 RVA: 0x00035FB0 File Offset: 0x000341B0
489 {
490 global::System.Collections.Generic.LinkedList<WebConnection> linkedList = this.connections;
491 if (!true)
492 {
493 }
494 global::System.Collections.Generic.LinkedList<WebOperation> linkedList2 = this.queue;
495 global::System.Collections.Generic.LinkedList<WebConnection> linkedList3 = this.connections;
496 global::System.Collections.Generic.LinkedList<WebOperation> linkedList4 = this.queue;
497 throw new OutOfMemoryException();
498 }
499
500 // Token: 0x06001150 RID: 4432 RVA: 0x00036000 File Offset: 0x00034200
502 {
503 /*
504An exception occurred when decompiling this method (06001150)
505
506ICSharpCode.Decompiler.DecompilerException: Error decompiling System.ValueTuple`2<System.Net.WebConnection,System.Boolean> System.Net.ServicePointScheduler/ConnectionGroup::CreateOrReuseConnection(System.Net.WebOperation,System.Boolean)
507
508 ---> System.Exception: Basic block has to end with unconditional control flow.
509{
510 IL_002D:
511 stloc:ServicePoint(var_4_33, ldfld:ServicePoint(ServicePointScheduler::<ServicePoint>k__BackingField, ldloc:ServicePointScheduler(var_0_0F)))
512 stloc:class System.Collections.Generic.LinkedList`1<class System.Net.WebConnection>(var_7_3E, ldfld:class System.Collections.Generic.LinkedList`1<class System.Net.WebConnection>(ConnectionGroup::connections, ldloc:ConnectionGroup(this)))
513 stloc:ServicePointScheduler(var_8_46, ldfld:ServicePointScheduler(ConnectionGroup::<Scheduler>k__BackingField, ldloc:ConnectionGroup(this)))
514 stloc:class System.Collections.Generic.LinkedList`1<class System.Net.WebOperation>(var_10_4E, ldfld:class System.Collections.Generic.LinkedList`1<class System.Net.WebOperation>(ConnectionGroup::queue, ldloc:ConnectionGroup(this)))
515}
516
517 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
518 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
519 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
520 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
521 --- End of inner exception stack trace ---
522 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
523 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
524*/;
525 }
526
527 // Token: 0x04000D65 RID: 3429
529 private readonly ServicePointScheduler <Scheduler>k__BackingField;
530
531 // Token: 0x04000D66 RID: 3430
533 private readonly string <Name>k__BackingField;
534
535 // Token: 0x04000D67 RID: 3431
536 private static int nextId;
537
538 // Token: 0x04000D68 RID: 3432
539 public readonly int ID;
540
541 // Token: 0x04000D69 RID: 3433
542 private global::System.Collections.Generic.LinkedList<WebConnection> connections;
543
544 // Token: 0x04000D6A RID: 3434
545 private global::System.Collections.Generic.LinkedList<WebOperation> queue;
546 }
547
548 // Token: 0x02000274 RID: 628
550 {
551 // Token: 0x06001151 RID: 4433 RVA: 0x0003605C File Offset: 0x0003425C
553 {
554 /*
555An exception occurred when decompiling this method (06001151)
556
557ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Threading.Tasks.Task System.Net.ServicePointScheduler/AsyncManualResetEvent::WaitAsync()
558
559 ---> System.Exception: Basic block has to end with unconditional control flow.
560{
561 Block_0:
562 stloc:Task`1(var_0_0B, ldfld:class [mscorlib]System.Threading.Tasks.Task`1<!0>[exp:Task`1](TaskCompletionSource`1::_task, ldfld:class [mscorlib]System.Threading.Tasks.TaskCompletionSource`1<bool>[exp:TaskCompletionSource`1](AsyncManualResetEvent::m_tcs, ldloc:AsyncManualResetEvent(this))))
563}
564
565 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
566 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
567 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
568 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
569 --- End of inner exception stack trace ---
570 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
571 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
572*/;
573 }
574
575 // Token: 0x06001152 RID: 4434 RVA: 0x00036074 File Offset: 0x00034274
576 public bool WaitOne(int millisecondTimeout)
577 {
578 return this.m_tcs._task.Wait(millisecondTimeout);
579 }
580
581 // Token: 0x06001153 RID: 4435 RVA: 0x00036094 File Offset: 0x00034294
582 public Task<bool> WaitAsync(int millisecondTimeout)
583 {
584 return ServicePointScheduler.WaitAsync(this.m_tcs._task, millisecondTimeout);
585 }
586
587 // Token: 0x06001154 RID: 4436 RVA: 0x000360B4 File Offset: 0x000342B4
588 public void Set()
589 {
591 if (!true)
592 {
593 }
595 if (!true)
596 {
597 }
598 tcs._task.Wait();
599 }
600
601 // Token: 0x06001155 RID: 4437 RVA: 0x000360E4 File Offset: 0x000342E4
602 public void Reset()
603 {
604 }
605
606 // Token: 0x06001156 RID: 4438 RVA: 0x000360F4 File Offset: 0x000342F4
608 {
609 this.Set();
610 }
611
612 // Token: 0x04000D6B RID: 3435
614
615 // Token: 0x02000275 RID: 629
617 [Serializable]
618 private sealed class <>c
619 {
620 // Token: 0x06001157 RID: 4439 RVA: 0x0000205C File Offset: 0x0000025C
621 // Note: this type is marked as 'beforefieldinit'.
622 static <>c()
623 {
624 }
625
626 // Token: 0x06001158 RID: 4440 RVA: 0x0000205C File Offset: 0x0000025C
627 public <>c()
628 {
629 }
630
631 // Token: 0x06001159 RID: 4441 RVA: 0x00036110 File Offset: 0x00034310
632 internal bool <Set>b__4_0(object s)
633 {
634 return default(bool);
635 }
636
637 // Token: 0x04000D6C RID: 3436
639
640 // Token: 0x04000D6D RID: 3437
641 public static Func<object, bool> <>9__4_0;
642 }
643 }
644
645 // Token: 0x02000276 RID: 630
647 [StructLayout(3)]
649 {
650 // Token: 0x0600115A RID: 4442 RVA: 0x00002050 File Offset: 0x00000250
651 private void MoveNext()
652 {
653 throw new global::Cpp2IlInjected.AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
654 }
655
656 // Token: 0x0600115B RID: 4443 RVA: 0x00036128 File Offset: 0x00034328
661
662 // Token: 0x04000D6E RID: 3438
664
665 // Token: 0x04000D6F RID: 3439
667
668 // Token: 0x04000D70 RID: 3440
670
671 // Token: 0x04000D71 RID: 3441
673
674 // Token: 0x04000D72 RID: 3442
676
677 // Token: 0x04000D73 RID: 3443
678 private List<Task> <taskList>5__4;
679
680 // Token: 0x04000D74 RID: 3444
681 private Task<bool> <schedulerTask>5__5;
682
683 // Token: 0x04000D75 RID: 3445
684 private bool <finalCleanup>5__6;
685
686 // Token: 0x04000D76 RID: 3446
688 }
689
690 // Token: 0x02000277 RID: 631
692 [StructLayout(3)]
694 {
695 // Token: 0x0600115C RID: 4444 RVA: 0x00036138 File Offset: 0x00034338
696 private void MoveNext()
697 {
698 CancellationToken cancellationToken;
699 Task task = Task.Delay(this.millisecondTimeout, cancellationToken);
700 this.<timeoutTask>5__3 = task;
701 Task task2 = this.workerTask;
702 if (task2 != null && task2 == null)
703 {
704 throw new ArrayTypeMismatchException();
705 }
706 Task task3 = this.<timeoutTask>5__3;
707 if (task3 == null || task3 != null)
708 {
709 return;
710 }
711 throw new ArrayTypeMismatchException();
712 }
713
714 // Token: 0x0600115D RID: 4445 RVA: 0x00036208 File Offset: 0x00034408
719
720 // Token: 0x04000D77 RID: 3447
722
723 // Token: 0x04000D78 RID: 3448
725
726 // Token: 0x04000D79 RID: 3449
728
729 // Token: 0x04000D7A RID: 3450
731
732 // Token: 0x04000D7B RID: 3451
733 private CancellationTokenSource <cts>5__2;
734
735 // Token: 0x04000D7C RID: 3452
736 private Task <timeoutTask>5__3;
737
738 // Token: 0x04000D7D RID: 3453
740 }
741 }
742}
class f__AnonymousType0<< Count > j__TPar
static void RemoveServicePoint(ServicePoint sp)
global::System.Collections.Generic.LinkedList< WebOperation > queue
ConnectionGroup(ServicePointScheduler scheduler, string name)
global::System.Collections.Generic.LinkedList< WebConnection > connections
readonly ServicePointScheduler< Scheduler > k__BackingField
ValueTuple< WebConnection, bool > CreateOrReuseConnection(WebOperation operation, bool force)
WebConnection FindIdleConnection(WebOperation operation)
void OnConnectionClosed(WebConnection connection)
global::System.Collections.Generic.LinkedList< ValueTuple< ServicePointScheduler.ConnectionGroup, WebConnection, Task > > idleConnections
global::System.Collections.Generic.LinkedList< ValueTuple< ServicePointScheduler.ConnectionGroup, WebOperation > > operations
bool OperationCompleted(ServicePointScheduler.ConnectionGroup group, WebOperation operation)
void RemoveOperation(WebOperation operation)
static Task< bool > WaitAsync(Task workerTask, int millisecondTimeout)
ServicePointScheduler.ConnectionGroup defaultGroup
void CloseIdleConnection(ServicePointScheduler.ConnectionGroup group, WebConnection connection)
void SendRequest(WebOperation operation, string groupName)
ServicePoint< ServicePoint > k__BackingField
ServicePointScheduler.AsyncManualResetEvent schedulerEvent
Dictionary< string, ServicePointScheduler.ConnectionGroup > groups
void RemoveIdleConnection(WebConnection connection)
bool CloseConnectionGroup(string groupName)
void OnConnectionCreated(WebConnection connection)
ServicePointScheduler.ConnectionGroup GetConnectionGroup(string name)
ServicePointScheduler(ServicePoint servicePoint, int connectionLimit, int maxIdleTime)
bool SchedulerIteration(ServicePointScheduler.ConnectionGroup group)
WebCompletionSource< ValueTuple< bool, WebOperation > > finishedTask
static int CompareExchange(int location1, int value, int comparand)
static void Exit(object obj)
Definition Monitor.cs:47
static Task Delay(int millisecondsDelay)
Definition Task.2.cs:1752
static DateTime UtcNow
Definition DateTime.cs:1318
ConfiguredTaskAwaitable< Task >.ConfiguredTaskAwaiter u__1
void SetStateMachine(IAsyncStateMachine stateMachine)
void SetStateMachine(IAsyncStateMachine stateMachine)
ConfiguredTaskAwaitable< Task >.ConfiguredTaskAwaiter u__1
AsyncTaskMethodBuilder< bool ><> t__builder