terraria-cpp2il v1.4.4.9
Terraria mobile dump, with CallAnalysis (see source code). Dump with reconstucted method: https://infinitynichto.github.io/terraria-cpp2il-methodrecon
Loading...
Searching...
No Matches
TimerThread.cs
Go to the documentation of this file.
1using System;
8
9namespace System.Net
10{
11 [global::Cpp2ILInjected.Token(Token = "0x20001FF")]
12 internal static class TimerThread
13 {
14 [global::Cpp2ILInjected.Token(Token = "0x6000C88")]
15 [global::Cpp2ILInjected.Address(RVA = "0x1F28EBC", Offset = "0x1F28EBC", Length = "0x250")]
16 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
17 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(LinkedList<object>), Member = ".ctor", ReturnType = typeof(void))]
18 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(AutoResetEvent), Member = ".ctor", MemberParameters = new object[] { typeof(bool) }, ReturnType = typeof(void))]
19 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(ManualResetEvent), Member = ".ctor", MemberParameters = new object[] { typeof(bool) }, ReturnType = typeof(void))]
20 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Hashtable), Member = ".ctor", ReturnType = typeof(void))]
21 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(AppDomain), Member = "get_CurrentDomain", ReturnType = typeof(AppDomain))]
22 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(EventHandler), Member = ".ctor", MemberParameters = new object[]
23 {
24 typeof(object),
26 }, ReturnType = typeof(void))]
27 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(AppDomain), Member = "add_DomainUnload", MemberParameters = new object[] { typeof(EventHandler) }, ReturnType = typeof(void))]
28 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 20)]
29 static TimerThread()
30 {
31 throw null;
32 }
33
34 [global::Cpp2ILInjected.Token(Token = "0x6000C89")]
35 [global::Cpp2ILInjected.Address(RVA = "0x1F2910C", Offset = "0x1F2910C", Length = "0x234")]
36 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
37 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(WebRequest), Member = ".cctor", ReturnType = typeof(void))]
38 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 1)]
39 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Enter", MemberParameters = new object[]
40 {
41 typeof(object),
42 typeof(ref bool)
43 }, ReturnType = typeof(void))]
44 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(TimerThread.TimerQueue), Member = ".ctor", MemberParameters = new object[] { typeof(int) }, ReturnType = typeof(void))]
45 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(WeakReference), Member = ".ctor", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
46 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(LinkedList<object>), Member = "AddLast", MemberParameters = new object[] { typeof(object) }, ReturnType = "System.Collections.Generic.LinkedListNode`1<T>")]
47 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Exit", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
48 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
49 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(ArgumentOutOfRangeException), Member = ".ctor", MemberParameters = new object[] { typeof(string) }, ReturnType = typeof(void))]
50 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 21)]
52 {
53 throw null;
54 }
55
56 [global::Cpp2ILInjected.Token(Token = "0x6000C8A")]
57 [global::Cpp2ILInjected.Address(RVA = "0x1F293F0", Offset = "0x1F293F0", Length = "0x8F4")]
58 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
59 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(FtpWebRequest), Member = "get_TimerQueue", ReturnType = typeof(TimerThread.Queue))]
60 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(FtpWebRequest), Member = ".cctor", ReturnType = typeof(void))]
61 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 2)]
62 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Enter", MemberParameters = new object[]
63 {
64 typeof(object),
65 typeof(ref bool)
66 }, ReturnType = typeof(void))]
67 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
68 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(TimerThread.TimerQueue), Member = ".ctor", MemberParameters = new object[] { typeof(int) }, ReturnType = typeof(void))]
69 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(WeakReference), Member = ".ctor", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
70 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(LinkedList<object>), Member = "AddLast", MemberParameters = new object[] { typeof(object) }, ReturnType = "System.Collections.Generic.LinkedListNode`1<T>")]
71 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(List<int>), Member = ".ctor", ReturnType = typeof(void))]
72 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(List<int>), Member = "get_Item", MemberParameters = new object[] { typeof(int) }, ReturnType = "T")]
73 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Exit", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
74 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(ArgumentOutOfRangeException), Member = ".ctor", MemberParameters = new object[] { typeof(string) }, ReturnType = typeof(void))]
75 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 58)]
77 {
78 throw null;
79 }
80
81 [global::Cpp2ILInjected.Token(Token = "0x6000C8B")]
82 [global::Cpp2ILInjected.Address(RVA = "0x1F29CE4", Offset = "0x1F29CE4", Length = "0x104")]
83 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(TimerThread.TimerQueue), Member = "CreateTimer", MemberParameters = new object[]
84 {
85 typeof(TimerThread.Callback),
86 typeof(object)
87 }, ReturnType = typeof(TimerThread.Timer))]
88 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 1)]
89 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(EventWaitHandle), Member = "Set", ReturnType = typeof(bool))]
90 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Interlocked), Member = "CompareExchange", MemberParameters = new object[]
91 {
92 typeof(ref int),
93 typeof(int),
94 typeof(int)
95 }, ReturnType = typeof(int))]
96 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(ThreadStart), Member = ".ctor", MemberParameters = new object[]
97 {
98 typeof(object),
100 }, ReturnType = typeof(void))]
101 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Thread), Member = ".ctor", MemberParameters = new object[] { typeof(ThreadStart) }, ReturnType = typeof(void))]
102 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Thread), Member = "Start", ReturnType = typeof(void))]
103 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 7)]
104 private static void Prod()
105 {
106 throw null;
107 }
108
109 [global::Cpp2ILInjected.Token(Token = "0x6000C8C")]
110 [global::Cpp2ILInjected.Address(RVA = "0x1F29DE8", Offset = "0x1F29DE8", Length = "0x710")]
111 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
112 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
113 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Thread), Member = "get_CurrentThread", ReturnType = typeof(Thread))]
114 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Thread), Member = "set_IsBackground", MemberParameters = new object[] { typeof(bool) }, ReturnType = typeof(void))]
115 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Enter", MemberParameters = new object[]
116 {
117 typeof(object),
118 typeof(ref bool)
119 }, ReturnType = typeof(void))]
120 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Interlocked), Member = "CompareExchange", MemberParameters = new object[]
121 {
122 typeof(ref int),
123 typeof(int),
124 typeof(int)
125 }, ReturnType = typeof(int))]
126 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(EventWaitHandle), Member = "Reset", ReturnType = typeof(bool))]
127 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(LinkedList<object>), Member = "Remove", MemberParameters = new object[] { typeof(LinkedListNode<object>) }, ReturnType = typeof(void))]
128 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(LinkedList<object>), Member = "AddLast", MemberParameters = new object[] { typeof(LinkedListNode<object>) }, ReturnType = typeof(void))]
129 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Exit", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
130 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Environment), Member = "get_TickCount", ReturnType = typeof(int))]
131 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(LinkedListNode<object>), Member = "get_Next", ReturnType = "System.Collections.Generic.LinkedListNode`1<T>")]
132 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(TimerThread.TimerQueue), Member = "Fire", MemberParameters = new object[] { typeof(ref int) }, ReturnType = typeof(bool))]
133 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Math), Member = "Min", MemberParameters = new object[]
134 {
135 typeof(uint),
136 typeof(uint)
137 }, ReturnType = typeof(uint))]
138 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(WaitHandle), Member = "WaitAny", MemberParameters = new object[]
139 {
141 typeof(int),
142 typeof(bool)
143 }, ReturnType = typeof(int))]
144 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(NclUtilities), Member = "IsFatal", MemberParameters = new object[] { typeof(Exception) }, ReturnType = typeof(bool))]
145 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Logging), Member = "get_On", ReturnType = typeof(bool))]
146 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Thread), Member = "Sleep", MemberParameters = new object[] { typeof(int) }, ReturnType = typeof(void))]
147 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 46)]
148 private static void ThreadProc()
149 {
150 throw null;
151 }
152
153 [global::Cpp2ILInjected.Token(Token = "0x6000C8D")]
154 [global::Cpp2ILInjected.Address(RVA = "0x1F2A6DC", Offset = "0x1F2A6DC", Length = "0x74")]
155 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(TimerThread), Member = "OnDomainUnload", MemberParameters = new object[]
156 {
157 typeof(object),
159 }, ReturnType = typeof(void))]
160 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 1)]
161 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Interlocked), Member = "Exchange", MemberParameters = new object[]
162 {
163 typeof(ref int),
164 typeof(int)
165 }, ReturnType = typeof(int))]
166 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(EventWaitHandle), Member = "Set", ReturnType = typeof(bool))]
167 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 2)]
168 private static void StopTimerThread()
169 {
170 throw null;
171 }
172
173 [global::Cpp2ILInjected.Token(Token = "0x6000C8E")]
174 [global::Cpp2ILInjected.Address(RVA = "0x1F2A6B8", Offset = "0x1F2A6B8", Length = "0x24")]
175 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
176 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
177 private static bool IsTickBetween(int start, int end, int comparand)
178 {
179 throw null;
180 }
181
182 [global::Cpp2ILInjected.Token(Token = "0x6000C8F")]
183 [global::Cpp2ILInjected.Address(RVA = "0x1F2A750", Offset = "0x1F2A750", Length = "0xC4")]
184 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
185 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
186 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(TimerThread), Member = "StopTimerThread", ReturnType = typeof(void))]
187 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 11)]
188 private static void OnDomainUnload(object sender, EventArgs e)
189 {
190 throw null;
191 }
192
193 [global::Cpp2ILInjected.Token(Token = "0x4000ABA")]
194 private const int c_ThreadIdleTimeoutMilliseconds = 30000;
195
196 [global::Cpp2ILInjected.Token(Token = "0x4000ABB")]
197 private const int c_CacheScanPerIterations = 32;
198
199 [global::Cpp2ILInjected.Token(Token = "0x4000ABC")]
200 private const int c_TickCountResolution = 15;
201
202 [global::Cpp2ILInjected.Token(Token = "0x4000ABD")]
204
205 [global::Cpp2ILInjected.Token(Token = "0x4000ABE")]
207
208 [global::Cpp2ILInjected.Token(Token = "0x4000ABF")]
209 private static int s_ThreadState;
210
211 [global::Cpp2ILInjected.Token(Token = "0x4000AC0")]
213
214 [global::Cpp2ILInjected.Token(Token = "0x4000AC1")]
216
217 [global::Cpp2ILInjected.Token(Token = "0x4000AC2")]
218 private static WaitHandle[] s_ThreadEvents;
219
220 [global::Cpp2ILInjected.Token(Token = "0x4000AC3")]
221 private static int s_CacheScanIteration;
222
223 [global::Cpp2ILInjected.Token(Token = "0x4000AC4")]
224 private static Hashtable s_QueuesCache;
225
226 [global::Cpp2ILInjected.Token(Token = "0x2000200")]
227 internal abstract class Queue
228 {
229 [global::Cpp2ILInjected.Token(Token = "0x6000C90")]
230 [global::Cpp2ILInjected.Address(RVA = "0x1F2A814", Offset = "0x1F2A814", Length = "0x28")]
231 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
232 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
234 {
235 throw null;
236 }
237
238 [global::Cpp2ILInjected.Token(Token = "0x1700028E")]
239 internal int Duration
240 {
241 [global::Cpp2ILInjected.Token(Token = "0x6000C91")]
242 [global::Cpp2ILInjected.Address(RVA = "0x1F2A83C", Offset = "0x1F2A83C", Length = "0x8")]
243 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
244 get
245 {
246 throw null;
247 }
248 }
249
250 [global::Cpp2ILInjected.Token(Token = "0x6000C92")]
251 [global::Cpp2ILInjected.Address(RVA = "0x1F2A844", Offset = "0x1F2A844", Length = "0x14")]
252 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
253 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 1)]
255 {
256 throw null;
257 }
258
259 [global::Cpp2ILInjected.Token(Token = "0x6000C93")]
260 internal abstract TimerThread.Timer CreateTimer(TimerThread.Callback callback, object context);
261
262 [global::Cpp2ILInjected.Token(Token = "0x4000AC5")]
263 [global::Cpp2ILInjected.FieldOffset(Offset = "0x10")]
265 }
266
267 [global::Cpp2ILInjected.Token(Token = "0x2000201")]
268 internal abstract class Timer : IDisposable
269 {
270 [global::Cpp2ILInjected.Token(Token = "0x6000C94")]
271 [global::Cpp2ILInjected.Address(RVA = "0x1F2A858", Offset = "0x1F2A858", Length = "0x34")]
272 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
273 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
274 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Environment), Member = "get_TickCount", ReturnType = typeof(int))]
276 {
277 throw null;
278 }
279
280 [global::Cpp2ILInjected.Token(Token = "0x1700028F")]
281 internal int Duration
282 {
283 [global::Cpp2ILInjected.Token(Token = "0x6000C95")]
284 [global::Cpp2ILInjected.Address(RVA = "0x1F2A88C", Offset = "0x1F2A88C", Length = "0x8")]
285 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
286 get
287 {
288 throw null;
289 }
290 }
291
292 [global::Cpp2ILInjected.Token(Token = "0x17000290")]
293 internal int StartTime
294 {
295 [global::Cpp2ILInjected.Token(Token = "0x6000C96")]
296 [global::Cpp2ILInjected.Address(RVA = "0x1F2A894", Offset = "0x1F2A894", Length = "0x8")]
297 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
298 get
299 {
300 throw null;
301 }
302 }
303
304 [global::Cpp2ILInjected.Token(Token = "0x17000291")]
305 internal int Expiration
306 {
307 [global::Cpp2ILInjected.Token(Token = "0x6000C97")]
308 [global::Cpp2ILInjected.Address(RVA = "0x1F2A89C", Offset = "0x1F2A89C", Length = "0xC")]
309 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
310 get
311 {
312 throw null;
313 }
314 }
315
316 [global::Cpp2ILInjected.Token(Token = "0x17000292")]
317 internal int TimeRemaining
318 {
319 [global::Cpp2ILInjected.Token(Token = "0x6000C98")]
320 [global::Cpp2ILInjected.Address(RVA = "0x1F2A8A8", Offset = "0x1F2A8A8", Length = "0x114")]
321 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
322 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
323 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Environment), Member = "get_TickCount", ReturnType = typeof(int))]
324 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Math), Member = "Min", MemberParameters = new object[]
325 {
326 typeof(uint),
327 typeof(uint)
328 }, ReturnType = typeof(uint))]
329 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 4)]
330 get
331 {
332 throw null;
333 }
334 }
335
336 [global::Cpp2ILInjected.Token(Token = "0x6000C99")]
337 internal abstract bool Cancel();
338
339 [global::Cpp2ILInjected.Token(Token = "0x17000293")]
340 internal abstract bool HasExpired
341 {
342 [global::Cpp2ILInjected.Token(Token = "0x6000C9A")]
343 get;
344 }
345
346 [global::Cpp2ILInjected.Token(Token = "0x6000C9B")]
347 [global::Cpp2ILInjected.Address(RVA = "0x1F2A9BC", Offset = "0x1F2A9BC", Length = "0xC")]
348 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
349 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 1)]
350 public void Dispose()
351 {
352 throw null;
353 }
354
355 [global::Cpp2ILInjected.Token(Token = "0x4000AC6")]
356 [global::Cpp2ILInjected.FieldOffset(Offset = "0x10")]
358
359 [global::Cpp2ILInjected.Token(Token = "0x4000AC7")]
360 [global::Cpp2ILInjected.FieldOffset(Offset = "0x14")]
362 }
363
364 [global::Cpp2ILInjected.Token(Token = "0x2000202")]
365 internal delegate void Callback(TimerThread.Timer timer, int timeNoticed, object context);
366
367 [global::Cpp2ILInjected.Token(Token = "0x2000203")]
368 private enum TimerThreadState
369 {
370 [global::Cpp2ILInjected.Token(Token = "0x4000AC9")]
371 Idle,
372 [global::Cpp2ILInjected.Token(Token = "0x4000ACA")]
373 Running,
374 [global::Cpp2ILInjected.Token(Token = "0x4000ACB")]
375 Stopped
376 }
377
378 [global::Cpp2ILInjected.Token(Token = "0x2000204")]
380 {
381 [global::Cpp2ILInjected.Token(Token = "0x6000CA0")]
382 [global::Cpp2ILInjected.Address(RVA = "0x1F29360", Offset = "0x1F29360", Length = "0x90")]
383 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(TimerThread), Member = "CreateQueue", MemberParameters = new object[] { typeof(int) }, ReturnType = typeof(TimerThread.Queue))]
384 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(TimerThread), Member = "GetOrCreateQueue", MemberParameters = new object[] { typeof(int) }, ReturnType = typeof(TimerThread.Queue))]
385 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 2)]
386 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
387 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Environment), Member = "get_TickCount", ReturnType = typeof(int))]
388 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 2)]
390 {
391 throw null;
392 }
393
394 [global::Cpp2ILInjected.Token(Token = "0x6000CA1")]
395 [global::Cpp2ILInjected.Address(RVA = "0x1F2ABE0", Offset = "0x1F2ABE0", Length = "0x1D0")]
396 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
397 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
398 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = "System.Net.TimerThread.TimerNode", Member = ".ctor", MemberParameters = new object[]
399 {
401 typeof(object),
402 typeof(int),
403 typeof(object)
404 }, ReturnType = typeof(void))]
405 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Enter", MemberParameters = new object[]
406 {
407 typeof(object),
408 typeof(ref bool)
409 }, ReturnType = typeof(void))]
410 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(IntPtr), Member = "op_Equality", MemberParameters = new object[]
411 {
412 typeof(IntPtr),
414 }, ReturnType = typeof(bool))]
415 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(GCHandle), Member = "Alloc", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(GCHandle))]
416 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Exit", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
417 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(TimerThread), Member = "Prod", ReturnType = typeof(void))]
418 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 11)]
419 internal override TimerThread.Timer CreateTimer(TimerThread.Callback callback, object context)
420 {
421 throw null;
422 }
423
424 [global::Cpp2ILInjected.Token(Token = "0x6000CA2")]
425 [global::Cpp2ILInjected.Address(RVA = "0x1F2A4F8", Offset = "0x1F2A4F8", Length = "0x1C0")]
426 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
427 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = typeof(TimerThread), Member = "ThreadProc", ReturnType = typeof(void))]
428 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 1)]
429 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Enter", MemberParameters = new object[]
430 {
431 typeof(object),
432 typeof(ref bool)
433 }, ReturnType = typeof(void))]
434 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(IntPtr), Member = "op_Inequality", MemberParameters = new object[]
435 {
436 typeof(IntPtr),
438 }, ReturnType = typeof(bool))]
439 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(GCHandle), Member = "op_Explicit", MemberParameters = new object[] { typeof(IntPtr) }, ReturnType = typeof(GCHandle))]
440 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(GCHandle), Member = "Free", ReturnType = typeof(void))]
441 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Exit", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
442 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = "System.Net.TimerThread.TimerNode", Member = "Fire", ReturnType = typeof(bool))]
443 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 7)]
444 internal bool Fire(out int nextExpiration)
445 {
446 throw null;
447 }
448
449 [global::Cpp2ILInjected.Token(Token = "0x4000ACC")]
450 [global::Cpp2ILInjected.FieldOffset(Offset = "0x18")]
452
453 [global::Cpp2ILInjected.Token(Token = "0x4000ACD")]
454 [global::Cpp2ILInjected.FieldOffset(Offset = "0x20")]
456 }
457
458 [global::Cpp2ILInjected.Token(Token = "0x2000205")]
460 {
461 [global::Cpp2ILInjected.Token(Token = "0x6000CA3")]
462 [global::Cpp2ILInjected.Address(RVA = "0x1F29340", Offset = "0x1F29340", Length = "0x20")]
463 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
464 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
466 {
467 throw null;
468 }
469
470 [global::Cpp2ILInjected.Token(Token = "0x6000CA4")]
471 [global::Cpp2ILInjected.Address(RVA = "0x1F2B060", Offset = "0x1F2B060", Length = "0x68")]
472 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
473 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
474 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Environment), Member = "get_TickCount", ReturnType = typeof(int))]
475 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 2)]
476 internal override TimerThread.Timer CreateTimer(TimerThread.Callback callback, object context)
477 {
478 throw null;
479 }
480 }
481
482 [global::Cpp2ILInjected.Token(Token = "0x2000206")]
484 {
485 [global::Cpp2ILInjected.Token(Token = "0x6000CA5")]
486 [global::Cpp2ILInjected.Address(RVA = "0x1F2ADB0", Offset = "0x1F2ADB0", Length = "0x58")]
487 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = "System.Net.TimerThread.TimerQueue", Member = "CreateTimer", MemberParameters = new object[]
488 {
490 typeof(object)
491 }, ReturnType = typeof(TimerThread.Timer))]
492 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 1)]
493 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
494 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Environment), Member = "get_TickCount", ReturnType = typeof(int))]
495 internal TimerNode(TimerThread.Callback callback, object context, int durationMilliseconds, object queueLock)
496 {
497 throw null;
498 }
499
500 [global::Cpp2ILInjected.Token(Token = "0x6000CA6")]
501 [global::Cpp2ILInjected.Address(RVA = "0x1F2ABB0", Offset = "0x1F2ABB0", Length = "0x30")]
502 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
503 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
504 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Environment), Member = "get_TickCount", ReturnType = typeof(int))]
505 internal TimerNode()
506 {
507 throw null;
508 }
509
510 [global::Cpp2ILInjected.Token(Token = "0x17000294")]
511 internal override bool HasExpired
512 {
513 [global::Cpp2ILInjected.Token(Token = "0x6000CA7")]
514 [global::Cpp2ILInjected.Address(RVA = "0x1F2B0F4", Offset = "0x1F2B0F4", Length = "0x10")]
515 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
516 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
517 get
518 {
519 throw null;
520 }
521 }
522
523 [global::Cpp2ILInjected.Token(Token = "0x17000295")]
525 {
526 [global::Cpp2ILInjected.Token(Token = "0x6000CA8")]
527 [global::Cpp2ILInjected.Address(RVA = "0x1F2B104", Offset = "0x1F2B104", Length = "0x8")]
528 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
529 get
530 {
531 throw null;
532 }
533 [global::Cpp2ILInjected.Token(Token = "0x6000CA9")]
534 [global::Cpp2ILInjected.Address(RVA = "0x1F2B10C", Offset = "0x1F2B10C", Length = "0x8")]
535 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
536 set
537 {
538 throw null;
539 }
540 }
541
542 [global::Cpp2ILInjected.Token(Token = "0x17000296")]
544 {
545 [global::Cpp2ILInjected.Token(Token = "0x6000CAA")]
546 [global::Cpp2ILInjected.Address(RVA = "0x1F2B114", Offset = "0x1F2B114", Length = "0x8")]
547 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
548 get
549 {
550 throw null;
551 }
552 [global::Cpp2ILInjected.Token(Token = "0x6000CAB")]
553 [global::Cpp2ILInjected.Address(RVA = "0x1F2B11C", Offset = "0x1F2B11C", Length = "0x8")]
554 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
555 set
556 {
557 throw null;
558 }
559 }
560
561 [global::Cpp2ILInjected.Token(Token = "0x6000CAC")]
562 [global::Cpp2ILInjected.Address(RVA = "0x1F2B124", Offset = "0x1F2B124", Length = "0x114")]
563 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
564 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
565 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Enter", MemberParameters = new object[]
566 {
567 typeof(object),
568 typeof(ref bool)
569 }, ReturnType = typeof(void))]
570 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Exit", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
571 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 6)]
572 internal override bool Cancel()
573 {
574 throw null;
575 }
576
577 [global::Cpp2ILInjected.Token(Token = "0x6000CAD")]
578 [global::Cpp2ILInjected.Address(RVA = "0x1F2AE08", Offset = "0x1F2AE08", Length = "0x258")]
579 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
580 [global::Cpp2ILInjected.CallAnalysis.CalledBy(Type = "System.Net.TimerThread.TimerQueue", Member = "Fire", MemberParameters = new object[] { typeof(ref int) }, ReturnType = typeof(bool))]
581 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 1)]
582 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Environment), Member = "get_TickCount", ReturnType = typeof(int))]
583 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Enter", MemberParameters = new object[]
584 {
585 typeof(object),
586 typeof(ref bool)
587 }, ReturnType = typeof(void))]
588 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Monitor), Member = "Exit", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
589 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(NclUtilities), Member = "IsFatal", MemberParameters = new object[] { typeof(Exception) }, ReturnType = typeof(bool))]
590 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Logging), Member = "get_On", ReturnType = typeof(bool))]
591 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 16)]
592 internal bool Fire()
593 {
594 throw null;
595 }
596
597 [global::Cpp2ILInjected.Token(Token = "0x4000ACE")]
598 [global::Cpp2ILInjected.FieldOffset(Offset = "0x18")]
600
601 [global::Cpp2ILInjected.Token(Token = "0x4000ACF")]
602 [global::Cpp2ILInjected.FieldOffset(Offset = "0x20")]
604
605 [global::Cpp2ILInjected.Token(Token = "0x4000AD0")]
606 [global::Cpp2ILInjected.FieldOffset(Offset = "0x28")]
607 private object m_Context;
608
609 [global::Cpp2ILInjected.Token(Token = "0x4000AD1")]
610 [global::Cpp2ILInjected.FieldOffset(Offset = "0x30")]
611 private object m_QueueLock;
612
613 [global::Cpp2ILInjected.Token(Token = "0x4000AD2")]
614 [global::Cpp2ILInjected.FieldOffset(Offset = "0x38")]
616
617 [global::Cpp2ILInjected.Token(Token = "0x4000AD3")]
618 [global::Cpp2ILInjected.FieldOffset(Offset = "0x40")]
620
621 [global::Cpp2ILInjected.Token(Token = "0x2000207")]
622 private enum TimerState
623 {
624 [global::Cpp2ILInjected.Token(Token = "0x4000AD5")]
625 Ready,
626 [global::Cpp2ILInjected.Token(Token = "0x4000AD6")]
627 Fired,
628 [global::Cpp2ILInjected.Token(Token = "0x4000AD7")]
629 Cancelled,
630 [global::Cpp2ILInjected.Token(Token = "0x4000AD8")]
632 }
633 }
634
635 [global::Cpp2ILInjected.Token(Token = "0x2000208")]
637 {
638 [global::Cpp2ILInjected.Token(Token = "0x6000CAE")]
639 [global::Cpp2ILInjected.Address(RVA = "0x1F2B0C8", Offset = "0x1F2B0C8", Length = "0x2C")]
640 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
641 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
642 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Environment), Member = "get_TickCount", ReturnType = typeof(int))]
643 internal InfiniteTimer()
644 {
645 throw null;
646 }
647
648 [global::Cpp2ILInjected.Token(Token = "0x17000297")]
649 internal override bool HasExpired
650 {
651 [global::Cpp2ILInjected.Token(Token = "0x6000CAF")]
652 [global::Cpp2ILInjected.Address(RVA = "0x1F2B238", Offset = "0x1F2B238", Length = "0x8")]
653 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
654 get
655 {
656 throw null;
657 }
658 }
659
660 [global::Cpp2ILInjected.Token(Token = "0x6000CB0")]
661 [global::Cpp2ILInjected.Address(RVA = "0x1F2B240", Offset = "0x1F2B240", Length = "0x24")]
662 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
663 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
664 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Interlocked), Member = "Exchange", MemberParameters = new object[]
665 {
666 typeof(ref int),
667 typeof(int)
668 }, ReturnType = typeof(int))]
669 internal override bool Cancel()
670 {
671 throw null;
672 }
673
674 [global::Cpp2ILInjected.Token(Token = "0x4000AD9")]
675 [global::Cpp2ILInjected.FieldOffset(Offset = "0x18")]
676 private int cancelled;
677 }
678 }
679}
class f__AnonymousType0<< Count > j__TPar
override TimerThread.Timer CreateTimer(TimerThread.Callback callback, object context)
readonly int m_DurationMilliseconds
TimerThread.Timer CreateTimer(TimerThread.Callback callback, object context)
TimerThread.Timer CreateTimer()
Queue(int durationMilliseconds)
TimerThread.TimerNode next
TimerThread.TimerNode Prev
TimerThread.TimerNode prev
TimerThread.TimerNode Next
TimerThread.Callback m_Callback
TimerThread.TimerNode.TimerState m_TimerState
TimerNode(TimerThread.Callback callback, object context, int durationMilliseconds, object queueLock)
bool Fire(out int nextExpiration)
TimerQueue(int durationMilliseconds)
override TimerThread.Timer CreateTimer(TimerThread.Callback callback, object context)
readonly TimerThread.TimerNode m_Timers
readonly int m_StartTimeMilliseconds
Timer(int durationMilliseconds)
readonly int m_DurationMilliseconds
static TimerThread.Queue CreateQueue(int durationMilliseconds)
static void ThreadProc()
static int s_CacheScanIteration
static TimerThread.Queue GetOrCreateQueue(int durationMilliseconds)
delegate void Callback(TimerThread.Timer timer, int timeNoticed, object context)
const int c_CacheScanPerIterations
static AutoResetEvent s_ThreadReadyEvent
static LinkedList< WeakReference > s_Queues
static ManualResetEvent s_ThreadShutdownEvent
const int c_ThreadIdleTimeoutMilliseconds
static void StopTimerThread()
static LinkedList< WeakReference > s_NewQueues
static void OnDomainUnload(object sender, EventArgs e)
static bool IsTickBetween(int start, int end, int comparand)
const int c_TickCountResolution
static WaitHandle[] s_ThreadEvents
static Hashtable s_QueuesCache