2
0
mirror of synced 2025-02-23 22:28:11 +00:00
torrent/tracker/udp/addr-family.go
2022-12-07 10:45:12 +11:00

27 lines
542 B
Go

package udp
import (
"encoding"
"github.com/anacrolix/dht/v2/krpc"
)
// Discriminates behaviours based on address family in use.
type AddrFamily int
const (
AddrFamilyIpv4 = iota + 1
AddrFamilyIpv6
)
// Returns a marshaler for the given node addrs for the specified family.
func GetNodeAddrsCompactMarshaler(nas []krpc.NodeAddr, family AddrFamily) encoding.BinaryMarshaler {
switch family {
case AddrFamilyIpv4:
return krpc.CompactIPv4NodeAddrs(nas)
case AddrFamilyIpv6:
return krpc.CompactIPv6NodeAddrs(nas)
}
return nil
}