2021-07-14 14:35:52 +10:00
|
|
|
//go:build cgo && !disable_libutp
|
2021-10-28 10:53:04 +02:00
|
|
|
// +build cgo,!disable_libutp
|
2017-06-16 18:08:24 +10:00
|
|
|
|
|
|
|
package torrent
|
|
|
|
|
|
|
|
import (
|
2021-12-12 21:32:29 +11:00
|
|
|
utp "github.com/anacrolix/go-libutp"
|
2017-06-16 18:08:24 +10:00
|
|
|
)
|
|
|
|
|
2018-07-25 17:11:09 +10:00
|
|
|
func NewUtpSocket(network, addr string, fc firewallCallback) (utpSocket, error) {
|
2017-09-14 00:25:29 +10:00
|
|
|
s, err := utp.NewSocket(network, addr)
|
|
|
|
if s == nil {
|
|
|
|
return nil, err
|
2018-07-25 17:11:09 +10:00
|
|
|
}
|
|
|
|
if err != nil {
|
2017-09-14 00:25:29 +10:00
|
|
|
return s, err
|
|
|
|
}
|
2018-07-25 17:11:09 +10:00
|
|
|
if fc != nil {
|
2021-12-12 21:32:29 +11:00
|
|
|
s.SetSyncFirewallCallback(fc)
|
2018-07-25 17:11:09 +10:00
|
|
|
}
|
|
|
|
return s, err
|
2017-06-16 18:08:24 +10:00
|
|
|
}
|