Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ WriteEvent() [25/45]

unsafe void System.Net.NetEventSource.WriteEvent ( int eventId,
string arg1,
string arg2,
byte[] arg3 )
inlineprivate

Definition at line 243 of file NetEventSource.cs.

244 {
245 //The blocks IL_004f, IL_0053, IL_0055, IL_006e, IL_0155 are reachable both inside and outside the pinned region starting at IL_004c. ILSpy has duplicated these blocks in order to place them both within and outside the `fixed` statement.
246 if (!Log.IsEnabled())
247 {
248 return;
249 }
250 if (arg1 == null)
251 {
252 arg1 = "";
253 }
254 if (arg2 == null)
255 {
256 arg2 = "";
257 }
258 if (arg3 == null)
259 {
260 arg3 = Array.Empty<byte>();
261 }
262 fixed (char* ptr5 = arg1)
263 {
264 char* intPtr;
265 byte[] array;
266 int size;
267 EventData* intPtr2;
268 nint num;
269 nint num2;
270 nint num3;
271 if (arg2 == null)
272 {
273 char* ptr;
274 intPtr = (ptr = null);
275 array = arg3;
276 fixed (byte* ptr2 = array)
277 {
278 byte* ptr3 = ptr2;
279 size = arg3.Length;
280 EventData* ptr4 = stackalloc EventData[4];
281 intPtr2 = ptr4;
282 *intPtr2 = new EventData
283 {
284 DataPointer = (IntPtr)ptr5,
285 Size = (arg1.Length + 1) * 2
286 };
287 num = (nint)(ptr4 + 1);
288 *(EventData*)num = new EventData
289 {
290 DataPointer = (IntPtr)ptr,
291 Size = (arg2.Length + 1) * 2
292 };
293 num2 = (nint)(ptr4 + 2);
294 *(EventData*)num2 = new EventData
295 {
296 DataPointer = (IntPtr)(&size),
297 Size = 4
298 };
299 num3 = (nint)(ptr4 + 3);
300 *(EventData*)num3 = new EventData
301 {
302 DataPointer = (IntPtr)ptr3,
303 Size = size
304 };
305 WriteEventCore(eventId, 4, ptr4);
306 }
307 return;
308 }
309 fixed (char* ptr6 = &arg2.GetPinnableReference())
310 {
311 char* ptr;
312 intPtr = (ptr = ptr6);
313 array = arg3;
314 fixed (byte* ptr2 = array)
315 {
316 byte* ptr3 = ptr2;
317 size = arg3.Length;
318 EventData* ptr4 = stackalloc EventData[4];
319 intPtr2 = ptr4;
320 *intPtr2 = new EventData
321 {
322 DataPointer = (IntPtr)ptr5,
323 Size = (arg1.Length + 1) * 2
324 };
325 num = (nint)(ptr4 + 1);
326 *(EventData*)num = new EventData
327 {
328 DataPointer = (IntPtr)ptr,
329 Size = (arg2.Length + 1) * 2
330 };
331 num2 = (nint)(ptr4 + 2);
332 *(EventData*)num2 = new EventData
333 {
334 DataPointer = (IntPtr)(&size),
335 Size = 4
336 };
337 num3 = (nint)(ptr4 + 3);
338 *(EventData*)num3 = new EventData
339 {
340 DataPointer = (IntPtr)ptr3,
341 Size = size
342 };
343 WriteEventCore(eventId, 4, ptr4);
344 }
345 }
346 }
347 }
unsafe void WriteEventCore(int eventId, int eventDataCount, EventData *data)
static readonly System.Net.NetEventSource Log

References System.array, System.Net.NetEventSource.Log, and System.Diagnostics.Tracing.EventSource.WriteEventCore().