utp_libutp.go 487 B

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