mirror of
https://github.com/arnaucube/go-dht.git
synced 2026-02-06 19:06:44 +01:00
node rpc Start & Ping, add rpc-test (client), add ID marshalers
This commit is contained in:
@@ -1,12 +1,23 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"go-dht/kademlia"
|
||||
|
||||
"github.com/spf13/viper"
|
||||
"github.com/urfave/cli"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
ID string
|
||||
Addr string
|
||||
Port string
|
||||
KnownNodesStr []KnownNodeStr `mapstructure:"knownnodes"`
|
||||
KnownNodes []kademlia.ListedNode `mapstructure:"-"`
|
||||
}
|
||||
|
||||
type KnownNodeStr struct {
|
||||
ID string
|
||||
Addr string
|
||||
Port string
|
||||
}
|
||||
|
||||
@@ -27,5 +38,19 @@ func MustRead(c *cli.Context) error {
|
||||
if err := viper.Unmarshal(&C); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, v := range C.KnownNodesStr {
|
||||
id, err := kademlia.IDFromString(v.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
kn := kademlia.ListedNode{
|
||||
ID: id,
|
||||
Addr: v.Addr,
|
||||
Port: v.Port,
|
||||
}
|
||||
C.KnownNodes = append(C.KnownNodes, kn)
|
||||
}
|
||||
C.KnownNodesStr = []KnownNodeStr{}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user