github.com/anacrolix/torrent@v1.61.0/utp_libutp.go (about) 1 //go:build cgo && !disable_libutp 2 // +build cgo,!disable_libutp 3 4 package torrent 5 6 import ( 7 utp "github.com/anacrolix/go-libutp" 8 "github.com/anacrolix/log" 9 ) 10 11 func NewUtpSocket(network, addr string, fc firewallCallback, logger log.Logger) (utpSocket, error) { 12 s, err := utp.NewSocket(network, addr, utp.WithLogger(logger)) 13 if s == nil { 14 return nil, err 15 } 16 if err != nil { 17 return s, err 18 } 19 if fc != nil { 20 s.SetSyncFirewallCallback(utp.FirewallCallback(fc)) 21 } 22 return s, err 23 }