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

◆ WriteEvent() [30/45]

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

Definition at line 351 of file NetEventSource.cs.

352 {
353 //The blocks IL_0044 are reachable both inside and outside the pinned region starting at IL_0041. ILSpy has duplicated these blocks in order to place them both within and outside the `fixed` statement.
354 if (!Log.IsEnabled())
355 {
356 return;
357 }
358 if (arg1 == null)
359 {
360 arg1 = "";
361 }
362 if (arg2 == null)
363 {
364 arg2 = "";
365 }
366 fixed (char* ptr3 = arg1)
367 {
368 char* intPtr;
369 EventData* intPtr2;
370 nint num;
371 nint num2;
372 if (arg2 == null)
373 {
374 char* ptr;
375 intPtr = (ptr = null);
376 EventData* ptr2 = stackalloc EventData[3];
377 intPtr2 = ptr2;
378 *intPtr2 = new EventData
379 {
380 DataPointer = (IntPtr)ptr3,
381 Size = (arg1.Length + 1) * 2
382 };
383 num = (nint)(ptr2 + 1);
384 *(EventData*)num = new EventData
385 {
386 DataPointer = (IntPtr)ptr,
387 Size = (arg2.Length + 1) * 2
388 };
389 num2 = (nint)(ptr2 + 2);
390 *(EventData*)num2 = new EventData
391 {
392 DataPointer = (IntPtr)(&arg3),
393 Size = 4
394 };
395 WriteEventCore(eventId, 3, ptr2);
396 return;
397 }
398 fixed (char* ptr4 = &arg2.GetPinnableReference())
399 {
400 char* ptr;
401 intPtr = (ptr = ptr4);
402 EventData* ptr2 = stackalloc EventData[3];
403 intPtr2 = ptr2;
404 *intPtr2 = new EventData
405 {
406 DataPointer = (IntPtr)ptr3,
407 Size = (arg1.Length + 1) * 2
408 };
409 num = (nint)(ptr2 + 1);
410 *(EventData*)num = new EventData
411 {
412 DataPointer = (IntPtr)ptr,
413 Size = (arg2.Length + 1) * 2
414 };
415 num2 = (nint)(ptr2 + 2);
416 *(EventData*)num2 = new EventData
417 {
418 DataPointer = (IntPtr)(&arg3),
419 Size = 4
420 };
421 WriteEventCore(eventId, 3, ptr2);
422 }
423 }
424 }
unsafe void WriteEventCore(int eventId, int eventDataCount, EventData *data)
static readonly System.Net.NetEventSource Log

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