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  }