From a4275beced8e6f9fe6e5a704d707bff54ff33d0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Wed, 31 Jul 2024 16:06:22 +0800 Subject: [PATCH] fix(p2p): udplite checksum range --- gold/link/send.go | 2 +- gold/p2p/udplite/lite.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gold/link/send.go b/gold/link/send.go index 3b3030b..16596e5 100644 --- a/gold/link/send.go +++ b/gold/link/send.go @@ -96,7 +96,7 @@ func (l *Link) write(p *head.Packet, teatype uint8, additional uint16, datasz ui } if l.doublepacket { cpp := p.Copy() - _ = time.AfterFunc(time.Millisecond*(100+time.Duration(rand.Intn(50))), func() { + _ = time.AfterFunc(time.Millisecond*(10+time.Duration(rand.Intn(40))), func() { defer cpp.Put() _, _ = l.writeonce(cpp, teatype, additional, datasz, offset, istransfer, hasmore) }) diff --git a/gold/p2p/udplite/lite.go b/gold/p2p/udplite/lite.go index b9daa29..f0ab9d5 100644 --- a/gold/p2p/udplite/lite.go +++ b/gold/p2p/udplite/lite.go @@ -75,11 +75,11 @@ func listenUDPLite(network string, laddr *net.UDPAddr) (*net.UDPConn, error) { } var errsys error err = rc.Control(func(fd uintptr) { - errsys = syscall.SetsockoptInt(int(fd), SOL_UDPLITE, UDPLITE_SEND_CSCOV, head.PacketHeadLen) + errsys = syscall.SetsockoptInt(int(fd), SOL_UDPLITE, UDPLITE_SEND_CSCOV, head.PacketHeadLen+8) // for xor rand if errsys != nil { return } - errsys = syscall.SetsockoptInt(int(fd), SOL_UDPLITE, UDPLITE_RECV_CSCOV, head.PacketHeadLen) + errsys = syscall.SetsockoptInt(int(fd), SOL_UDPLITE, UDPLITE_RECV_CSCOV, head.PacketHeadLen+8) // for xor rand }) if err != nil { _ = conn.Close()