]> Sergey Matveev's repositories - btrtrc.git/blobdiff - netip-addrport.go
Drop support for go 1.20
[btrtrc.git] / netip-addrport.go
index 4e2dc94d2b3686997d60b8924005064d849d8a90..e438db7085f446c473a31c74f75dbd167fba6f67 100644 (file)
@@ -17,7 +17,7 @@ func ipv4AddrPortFromKrpcNodeAddr(na krpc.NodeAddr) (_ netip.AddrPort, err error
                err = fmt.Errorf("not an ipv4 address: %v", na.IP)
                return
        }
-       addr := netip.AddrFrom4([4]byte(ip4))
+       addr := netip.AddrFrom4(*(*[4]byte)(ip4))
        addrPort := netip.AddrPortFrom(addr, uint16(na.Port))
        return addrPort, nil
 }
@@ -28,7 +28,7 @@ func ipv6AddrPortFromKrpcNodeAddr(na krpc.NodeAddr) (_ netip.AddrPort, err error
                err = fmt.Errorf("not an ipv4 address: %v", na.IP)
                return
        }
-       addr := netip.AddrFrom16([16]byte(ip6))
+       addr := netip.AddrFrom16(*(*[16]byte)(ip6))
        addrPort := netip.AddrPortFrom(addr, uint16(na.Port))
        return addrPort, nil
 }
@@ -43,3 +43,10 @@ func addrPortFromPeerRemoteAddr(pra PeerRemoteAddr) (netip.AddrPort, error) {
                return netip.ParseAddrPort(pra.String())
        }
 }
+
+func krpcNodeAddrFromAddrPort(addrPort netip.AddrPort) krpc.NodeAddr {
+       return krpc.NodeAddr{
+               IP:   addrPort.Addr().AsSlice(),
+               Port: int(addrPort.Port()),
+       }
+}