Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.81 KB | None | 0 0
  1.         private void HandleReceive(Event netEvent)
  2.         {
  3.             if (netEvent.Packet.Length < 2) { return; }
  4.  
  5.             int offset = 0;
  6.             ushort length = 0;
  7.             unsafe
  8.             {
  9.                 ReadOnlySpan<ushort> span = new ReadOnlySpan<ushort>(netEvent.Packet.Data.ToPointer(), 2);
  10.                 length = span[0];
  11.             }
  12.             offset += 2;
  13.  
  14.             IntPtr data = Marshal.AllocHGlobal(length);
  15.             unsafe
  16.             { Buffer.MemoryCopy((netEvent.Packet.Data + offset).ToPointer(), data.ToPointer(), length, length); }
  17.  
  18.             netEvent.Packet.Dispose();
  19.             CSPacketNew newPacket = new CSPacketNew() { ChannelID = netEvent.ChannelID };
  20.             newPacket.Create(data, length);
  21.  
  22.             _readBuffer.Enqueue(newPacket);
  23.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement