mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-22 19:07:48 +08:00
feat: introduce the dual WAN/LAN DHT
And only join the WAN DHT if we're publicly reachable.
This commit is contained in:
parent
6cb3ca41da
commit
8a002250dc
@ -8,6 +8,7 @@ import (
|
||||
host "github.com/libp2p/go-libp2p-core/host"
|
||||
routing "github.com/libp2p/go-libp2p-core/routing"
|
||||
dht "github.com/libp2p/go-libp2p-kad-dht"
|
||||
dual "github.com/libp2p/go-libp2p-kad-dht/dual"
|
||||
record "github.com/libp2p/go-libp2p-record"
|
||||
)
|
||||
|
||||
@ -15,7 +16,7 @@ type RoutingOption func(context.Context, host.Host, datastore.Batching, record.V
|
||||
|
||||
func constructDHTRouting(mode dht.ModeOpt) func(ctx context.Context, host host.Host, dstore datastore.Batching, validator record.Validator) (routing.Routing, error) {
|
||||
return func(ctx context.Context, host host.Host, dstore datastore.Batching, validator record.Validator) (routing.Routing, error) {
|
||||
return dht.New(
|
||||
return dual.New(
|
||||
ctx, host,
|
||||
dht.Concurrency(10),
|
||||
dht.Mode(mode),
|
||||
@ -26,9 +27,7 @@ func constructDHTRouting(mode dht.ModeOpt) func(ctx context.Context, host host.H
|
||||
}
|
||||
|
||||
var (
|
||||
// FIXME: Set this to dht.ModeAuto once we resolve
|
||||
// https://github.com/libp2p/go-libp2p-kad-dht/issues/564
|
||||
DHTOption RoutingOption = constructDHTRouting(dht.ModeServer)
|
||||
DHTOption RoutingOption = constructDHTRouting(dht.ModeAuto)
|
||||
DHTClientOption = constructDHTRouting(dht.ModeClient)
|
||||
DHTServerOption = constructDHTRouting(dht.ModeServer)
|
||||
NilRouterOption = nilrouting.ConstructNilRouting
|
||||
|
||||
4
go.mod
4
go.mod
@ -66,8 +66,8 @@ require (
|
||||
github.com/libp2p/go-libp2p-core v0.5.1
|
||||
github.com/libp2p/go-libp2p-discovery v0.3.0
|
||||
github.com/libp2p/go-libp2p-http v0.1.5
|
||||
github.com/libp2p/go-libp2p-kad-dht v0.6.2
|
||||
github.com/libp2p/go-libp2p-kbucket v0.3.3
|
||||
github.com/libp2p/go-libp2p-kad-dht v0.7.2
|
||||
github.com/libp2p/go-libp2p-kbucket v0.4.1
|
||||
github.com/libp2p/go-libp2p-loggables v0.1.0
|
||||
github.com/libp2p/go-libp2p-mplex v0.2.3
|
||||
github.com/libp2p/go-libp2p-peerstore v0.2.3
|
||||
|
||||
8
go.sum
8
go.sum
@ -549,10 +549,10 @@ github.com/libp2p/go-libp2p-interface-connmgr v0.0.1/go.mod h1:GarlRLH0LdeWcLnYM
|
||||
github.com/libp2p/go-libp2p-interface-connmgr v0.0.4/go.mod h1:GarlRLH0LdeWcLnYM/SaBykKFl9U5JFnbBGruAk/D5k=
|
||||
github.com/libp2p/go-libp2p-interface-connmgr v0.0.5/go.mod h1:GarlRLH0LdeWcLnYM/SaBykKFl9U5JFnbBGruAk/D5k=
|
||||
github.com/libp2p/go-libp2p-interface-pnet v0.0.1/go.mod h1:el9jHpQAXK5dnTpKA4yfCNBZXvrzdOU75zz+C6ryp3k=
|
||||
github.com/libp2p/go-libp2p-kad-dht v0.6.2 h1:ZKXN7iqjIGC3+z4MKoBoyOGq6zvJ294J/tAA7LfihV0=
|
||||
github.com/libp2p/go-libp2p-kad-dht v0.6.2/go.mod h1:LzZi6RR6NrgfFboyk03I5Yzg1Rr4eoQictDXpKpI45c=
|
||||
github.com/libp2p/go-libp2p-kbucket v0.3.3 h1:V2Zwv6QnCK6Who0iiJW2eUKwdlTYGJ2HnLViaolDOcs=
|
||||
github.com/libp2p/go-libp2p-kbucket v0.3.3/go.mod h1:IWFdYRBOYzaLEHnvrfzEkr+UcuveCXIoeO8QeFZSI6A=
|
||||
github.com/libp2p/go-libp2p-kad-dht v0.7.2 h1:pmjjvk0q3wAQVLWWcFaYb0Ha+QXpa7NlzeXkKvhGYXU=
|
||||
github.com/libp2p/go-libp2p-kad-dht v0.7.2/go.mod h1:+XvZEgO0gOAd9liN1wjdewxIdcdtWLJXG8U8ou2oo/A=
|
||||
github.com/libp2p/go-libp2p-kbucket v0.4.1 h1:6FyzbQuGLPzbMv3HiD232zqscIz5iB8ppJwb380+OGI=
|
||||
github.com/libp2p/go-libp2p-kbucket v0.4.1/go.mod h1:7sCeZx2GkNK1S6lQnGUW5JYZCFPnXzAZCCBBS70lytY=
|
||||
github.com/libp2p/go-libp2p-loggables v0.0.1/go.mod h1:lDipDlBNYbpyqyPX/KcoO+eq0sJYEVR2JgOexcivchg=
|
||||
github.com/libp2p/go-libp2p-loggables v0.1.0 h1:h3w8QFfCt2UJl/0/NW4K829HX/0S4KD31PQ7m8UXXO8=
|
||||
github.com/libp2p/go-libp2p-loggables v0.1.0/go.mod h1:EyumB2Y6PrYjr55Q3/tiJ/o3xoDasoRYM7nOzEpoa90=
|
||||
|
||||
Loading…
Reference in New Issue
Block a user