}
}
- sockets, err := listenAll(cl.listenNetworks(), cl.config.ListenHost, cl.config.ListenPort, cl.firewallCallback)
+ sockets, err := listenAll(cl.listenNetworks(), cl.config.ListenHost, cl.config.ListenPort, cl.firewallCallback, cl.logger)
if err != nil {
return
}
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
+ "github.com/anacrolix/log"
+
"github.com/anacrolix/dht/v2"
"github.com/anacrolix/missinggo/v2"
"github.com/anacrolix/missinggo/v2/filecache"
}
func TestClientAddressInUse(t *testing.T) {
- s, _ := NewUtpSocket("udp", ":50007", nil)
+ s, _ := NewUtpSocket("udp", ":50007", nil, log.Default)
if s != nil {
defer s.Close()
}
github.com/anacrolix/dht/v2 v2.15.2-0.20220123034220-0538803801cb
github.com/anacrolix/envpprof v1.1.1
github.com/anacrolix/fuse v0.2.0
- github.com/anacrolix/go-libutp v1.1.0
+ github.com/anacrolix/go-libutp v1.2.0
github.com/anacrolix/log v0.10.1-0.20220123034749-3920702c17f8
github.com/anacrolix/missinggo v1.3.0
github.com/anacrolix/missinggo/perf v1.0.0
zombiezen.com/go/sqlite v0.8.0
)
-// https://gitlab.com/cznic/sqlite/-/issues/77#note_744477407
-require modernc.org/sqlite v1.14.2-0.20211125151325-d4ed92c0a70f // indirect
-
retract (
// Doesn't signal interest to peers if choked when piece priorities change.
v1.39.0
github.com/anacrolix/go-libutp v0.0.0-20180522111405-6baeb806518d/go.mod h1:beQSaSxwH2d9Eeu5ijrEnHei5Qhk+J6cDm1QkWFru4E=
github.com/anacrolix/go-libutp v1.0.2/go.mod h1:uIH0A72V++j0D1nnmTjjZUiH/ujPkFxYWkxQ02+7S0U=
github.com/anacrolix/go-libutp v1.0.4/go.mod h1:8vSGX5g0b4eebsDBNVQHUXSCwYaN18Lnkse0hUW8/5w=
-github.com/anacrolix/go-libutp v1.1.0 h1:89XK+0NBTaKgSoG/v5OfDK0yoyrt2HInfg46I1BaT2E=
github.com/anacrolix/go-libutp v1.1.0/go.mod h1:so9zroOUhFPGnIkddyflaCCl+xdTsRSq97/AOQ2/Hjk=
+github.com/anacrolix/go-libutp v1.2.0 h1:sjxoB+/ARiKUR7IK/6wLWyADIBqGmu1fm0xo+8Yy7u0=
+github.com/anacrolix/go-libutp v1.2.0/go.mod h1:RrJ3KcaDcf9Jqp33YL5V/5CBEc6xMc7aJL8wXfuWL50=
github.com/anacrolix/log v0.0.0-20180412014343-2323884b361d/go.mod h1:sf/7c2aTldL6sRQj/4UKyjgVZBu2+M2z9wf7MmwPiew=
github.com/anacrolix/log v0.3.0/go.mod h1:lWvLTqzAnCWPJA08T2HCstZi0L1y2Wyvm3FJgwU9jwU=
github.com/anacrolix/log v0.3.1-0.20190913000754-831e4ffe0174/go.mod h1:lWvLTqzAnCWPJA08T2HCstZi0L1y2Wyvm3FJgwU9jwU=
"net"
"testing"
+ "github.com/anacrolix/log"
+
"github.com/anacrolix/missinggo/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
}
func listenUtpListener(net, addr string) (l net.Listener, err error) {
- l, err = NewUtpSocket(net, addr, nil)
+ l, err = NewUtpSocket(net, addr, nil, log.Default)
return
}
"net"
"strconv"
+ "github.com/anacrolix/log"
"github.com/anacrolix/missinggo/perf"
"github.com/anacrolix/missinggo/v2"
"github.com/pkg/errors"
Close() error
}
-func listen(n network, addr string, f firewallCallback) (socket, error) {
+func listen(n network, addr string, f firewallCallback, logger log.Logger) (socket, error) {
switch {
case n.Tcp:
return listenTcp(n.String(), addr)
case n.Udp:
- return listenUtp(n.String(), addr, f)
+ return listenUtp(n.String(), addr, f, logger)
default:
panic(n)
}
NetworkDialer
}
-func listenAll(networks []network, getHost func(string) string, port int, f firewallCallback) ([]socket, error) {
+func listenAll(networks []network, getHost func(string) string, port int, f firewallCallback, logger log.Logger) ([]socket, error) {
if len(networks) == 0 {
return nil, nil
}
nahs = append(nahs, networkAndHost{n, getHost(n.String())})
}
for {
- ss, retry, err := listenAllRetry(nahs, port, f)
+ ss, retry, err := listenAllRetry(nahs, port, f, logger)
if !retry {
return ss, err
}
Host string
}
-func listenAllRetry(nahs []networkAndHost, port int, f firewallCallback) (ss []socket, retry bool, err error) {
+func listenAllRetry(nahs []networkAndHost, port int, f firewallCallback, logger log.Logger) (ss []socket, retry bool, err error) {
ss = make([]socket, 1, len(nahs))
portStr := strconv.FormatInt(int64(port), 10)
- ss[0], err = listen(nahs[0].Network, net.JoinHostPort(nahs[0].Host, portStr), f)
+ ss[0], err = listen(nahs[0].Network, net.JoinHostPort(nahs[0].Host, portStr), f, logger)
if err != nil {
return nil, false, errors.Wrap(err, "first listen")
}
}()
portStr = strconv.FormatInt(int64(missinggo.AddrPort(ss[0].Addr())), 10)
for _, nah := range nahs[1:] {
- s, err := listen(nah.Network, net.JoinHostPort(nah.Host, portStr), f)
+ s, err := listen(nah.Network, net.JoinHostPort(nah.Host, portStr), f, logger)
if err != nil {
return ss,
missinggo.IsAddrInUse(err) && port == 0,
// This isn't aliased from go-libutp since that assumes CGO.
type firewallCallback func(net.Addr) bool
-func listenUtp(network, addr string, fc firewallCallback) (socket, error) {
- us, err := NewUtpSocket(network, addr, fc)
+func listenUtp(network, addr string, fc firewallCallback, logger log.Logger) (socket, error) {
+ us, err := NewUtpSocket(network, addr, fc, logger)
return utpSocketSocket{us, network}, err
}
package torrent
import (
+ "github.com/anacrolix/log"
"github.com/anacrolix/utp"
)
-func NewUtpSocket(network, addr string, _ firewallCallback) (utpSocket, error) {
+func NewUtpSocket(network, addr string, _ firewallCallback, _ log.Logger) (utpSocket, error) {
s, err := utp.NewSocket(network, addr)
if s == nil {
return nil, err
import (
utp "github.com/anacrolix/go-libutp"
+ "github.com/anacrolix/log"
)
-func NewUtpSocket(network, addr string, fc firewallCallback) (utpSocket, error) {
- s, err := utp.NewSocket(network, addr)
+func NewUtpSocket(network, addr string, fc firewallCallback, logger log.Logger) (utpSocket, error) {
+ s, err := utp.NewSocket(network, addr, utp.WithLogger(logger))
if s == nil {
return nil, err
}
import (
"testing"
+ "github.com/anacrolix/log"
+
"github.com/stretchr/testify/assert"
)
func TestNewUtpSocketErrorNilInterface(t *testing.T) {
- s, err := NewUtpSocket("fix", "your:language", nil)
+ s, err := NewUtpSocket("fix", "your:language", nil, log.Default)
assert.Error(t, err)
if s != nil {
t.Fatalf("expected nil, got %#v", s)