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

◆ WriteEvent() [22/45]

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

Definition at line 726 of file NetEventSource.cs.

727 {
728 //The blocks IL_0047 are reachable both inside and outside the pinned region starting at IL_0044. ILSpy has duplicated these blocks in order to place them both within and outside the `fixed` statement.
729 if (!Log.IsEnabled())
730 {
731 return;
732 }
733 if (arg1 == null)
734 {
735 arg1 = "";
736 }
737 if (arg3 == null)
738 {
739 arg3 = "";
740 }
741 fixed (char* ptr3 = arg1)
742 {
743 char* intPtr;
744 EventData* intPtr2;
745 nint num;
746 nint num2;
747 if (arg3 == null)
748 {
749 char* ptr;
750 intPtr = (ptr = null);
751 EventData* ptr2 = stackalloc EventData[3];
752 intPtr2 = ptr2;
753 *intPtr2 = new EventData
754 {
755 DataPointer = (IntPtr)ptr3,
756 Size = (arg1.Length + 1) * 2
757 };
758 num = (nint)(ptr2 + 1);
759 *(EventData*)num = new EventData
760 {
761 DataPointer = (IntPtr)(&arg2),
762 Size = 4
763 };
764 num2 = (nint)(ptr2 + 2);
765 *(EventData*)num2 = new EventData
766 {
767 DataPointer = (IntPtr)ptr,
768 Size = (arg3.Length + 1) * 2
769 };
770 WriteEventCore(eventId, 3, ptr2);
771 return;
772 }
773 fixed (char* ptr4 = &arg3.GetPinnableReference())
774 {
775 char* ptr;
776 intPtr = (ptr = ptr4);
777 EventData* ptr2 = stackalloc EventData[3];
778 intPtr2 = ptr2;
779 *intPtr2 = new EventData
780 {
781 DataPointer = (IntPtr)ptr3,
782 Size = (arg1.Length + 1) * 2
783 };
784 num = (nint)(ptr2 + 1);
785 *(EventData*)num = new EventData
786 {
787 DataPointer = (IntPtr)(&arg2),
788 Size = 4
789 };
790 num2 = (nint)(ptr2 + 2);
791 *(EventData*)num2 = new EventData
792 {
793 DataPointer = (IntPtr)ptr,
794 Size = (arg3.Length + 1) * 2
795 };
796 WriteEventCore(eventId, 3, ptr2);
797 }
798 }
799 }
unsafe void WriteEventCore(int eventId, int eventDataCount, EventData *data)
static readonly System.Net.NetEventSource Log

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