You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

65 lines
1.6 KiB

package main
import (
"fmt"
"go-dht/kademlia"
"log"
"net/rpc"
)
// Utility to test the Node RPC methods
func prepareTestListedNodes() []kademlia.ListedNode {
lnIDs := []string{
"c48d8b53dbefb609ed4e94d386dd5b22efcb2c5b",
"420bfebd44fc62615253224328f40f29c9b225fa",
"6272bb67b1661abfa07d1d32cd9b810e531d42cd",
"07db608db033384895e48098a1bbe25266387463",
"c19c3285ab9ada4b420050ae1a204640b2bed508",
"f8971d5da24517c8cc5a316fb0658de8906c4155",
"04122a5f2dec42284147b1847ec1bc41ecd78626",
"407a90870d7b482a271446c85fda940ce78a4c7a",
"5ebe4539e7a33721a8623f7ebfab62600aa503e7",
"fc44a42879ef3a74d6bd8303bc3e4e205a92acf9",
"fc44a42879ef3a74d6bd8303bc3e4e205a92acf9",
"10c86f96ebaa1685a46a6417e6faa2ef34a68976",
"243c81515196a5b0e2d4675e73f0da3eead12793",
"0fd85ddddf15aeec2d5d8b01b013dbca030a18d7",
"0fd85ddddf15aeec2d5d8b01b013dbca030a18d5",
"0fd85ddddf15aeec2d5d8b01b013dbca030a18d0",
"0fd85ddddf15aeec2d5d8b01b013dbca030a1800",
"0750931c40a52a2facd220a02851f7d34f95e1fa",
"ebfba615ac50bcd0f5c2420741d032e885abf576",
}
var lns []kademlia.ListedNode
for i := 0; i < len(lnIDs); i++ {
idI, err := kademlia.IDFromString(lnIDs[i])
if err != nil {
panic(err)
}
lnI := kademlia.ListedNode{
ID: idI,
Addr: "",
}
lns = append(lns, lnI)
}
return lns
}
func main() {
lns := prepareTestListedNodes()
client, err := rpc.DialHTTP("tcp", "127.0.0.1:5000")
if err != nil {
log.Fatal("Connection error: ", err)
}
var reply kademlia.ListedNode
for _, ln := range lns {
err = client.Call("Node.Ping", ln, &reply)
if err != nil {
panic(err)
}
fmt.Println(reply)
}
}