Replaced global variables with closure

jhiesey-dht-interop-closure-instead-of-globals
Mike Goelzer 6 years ago
parent 69a5085734
commit 21405f1f47
No known key found for this signature in database
GPG Key ID: EDAC46A37751AD6D

@ -17,10 +17,8 @@ import (
"github.com/libp2p/go-libp2p-crypto" "github.com/libp2p/go-libp2p-crypto"
) )
var ho h.Host func createConnHandler(dhtPtr *dht.IpfsDHT, ho h.Host) func(conn net.Conn) {
var dhtPtr *dht.IpfsDHT return func(conn net.Conn) {
func handleConn(conn net.Conn) {
ctx := context.Background() ctx := context.Background()
d := *dhtPtr d := *dhtPtr
@ -62,6 +60,7 @@ func handleConn(conn net.Conn) {
fmt.Printf("no remote providers!\n") fmt.Printf("no remote providers!\n")
} }
} }
}
func main() { func main() {
ctx := context.Background() ctx := context.Background()
@ -84,7 +83,7 @@ func main() {
} }
// //
// Set up a libp2p host. // Set up a libp2p host listening on every interface
// //
host, err := libp2p.New(ctx, host, err := libp2p.New(ctx,
libp2p.ListenAddrStrings("/ip4/0.0.0.0/tcp/9876"), libp2p.ListenAddrStrings("/ip4/0.0.0.0/tcp/9876"),
@ -95,22 +94,21 @@ func main() {
panic(err) panic(err)
} }
host.Network().SetConnHandler(handleConn)
ho = host
fmt.Printf("To connect, run:\n")
fmt.Printf("node js-dht-test/index.js %s/ipfs/%s\n", host.Addrs()[0], host.ID().Pretty())
// //
// Construct a DHT for discovery. // Construct a DHT for discovery
// //
d, err := dht.New(ctx, host, dhtopts.Client(false)) dhtPtr, err := dht.New(ctx, host, dhtopts.Client(false))
if err != nil { if err != nil {
panic(err) panic(err)
} }
dhtPtr = d //
// Accept connections from peers
//
f := createConnHandler(dhtPtr, host)
host.Network().SetConnHandler(f)
fmt.Printf("To connect, run:\n")
fmt.Printf("node js-dht-test/index.js %s/ipfs/%s\n", host.Addrs()[0], host.ID().Pretty())
select {} select {}
} }

Loading…
Cancel
Save