diff --git a/base/src/main/java/io/vproxy/base/util/unsafe/SunUnsafe.java b/base/src/main/java/io/vproxy/base/util/unsafe/SunUnsafe.java index 790b26ff..a5bb3d4b 100644 --- a/base/src/main/java/io/vproxy/base/util/unsafe/SunUnsafe.java +++ b/base/src/main/java/io/vproxy/base/util/unsafe/SunUnsafe.java @@ -32,8 +32,4 @@ public static MemorySegment allocateMemory(long size) { public static void freeMemory(long address) { U.freeMemory(address); } - - public static void copyMemory(long dst, long src, int len) { - U.copyMemory(src, dst, len); - } } diff --git a/test/src/test/java/io/vproxy/poc/XDPPoc.java b/test/src/test/java/io/vproxy/poc/XDPPoc.java index a25fb159..7d119746 100644 --- a/test/src/test/java/io/vproxy/poc/XDPPoc.java +++ b/test/src/test/java/io/vproxy/poc/XDPPoc.java @@ -7,7 +7,6 @@ import io.vproxy.base.util.Consts; import io.vproxy.base.util.LogType; import io.vproxy.base.util.Logger; -import io.vproxy.base.util.unsafe.SunUnsafe; import io.vproxy.vfd.EventSet; import io.vproxy.vpacket.*; import io.vproxy.xdp.*; @@ -102,10 +101,8 @@ private void handleReadable() { Logger.alert("new chunk: " + chunk2); - SunUnsafe.copyMemory( - umem.getBufferAddress() + chunk2.pktaddr, - umem.getBufferAddress() + chunk.pktaddr, - chunk.pktlen); + umemSeg.asSlice(chunk2.pktaddr, chunk.pktlen) + .copyFrom(umemSeg.asSlice(chunk.pktaddr, chunk.pktlen)); xsk.writePacket(chunk2); }