public Packet.PacketHeader ByteArrayToNewStuff(byte[] bytes) { System.Runtime.InteropServices.GCHandle handle = System.Runtime.InteropServices.GCHandle.Alloc(bytes, System.Runtime.InteropServices.GCHandleType.Pinned); Packet.PacketHeader stuff = (Packet.PacketHeader)System.Runtime.InteropServices.Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(Packet.PacketHeader)); handle.Free(); return(stuff); }
private byte[] ConstructPacket() { var data = new Packet.PacketHeader(Packet.PacketHeaderFlags.EchoRequest); uint checksum; data.CalculateHash32(out checksum); data.Checksum = checksum; return(data.GetRaw()); }