tendermint/rpc/core/net.go

54 lines
1.5 KiB
Go
Raw Normal View History

package core
import (
2017-04-12 16:12:22 -07:00
"fmt"
ctypes "github.com/tendermint/tendermint/rpc/core/types"
)
//-----------------------------------------------------------------------------
func NetInfo() (*ctypes.ResultNetInfo, error) {
listening := p2pSwitch.IsListening()
listeners := []string{}
for _, listener := range p2pSwitch.Listeners() {
listeners = append(listeners, listener.String())
}
2015-04-17 18:22:44 -07:00
peers := []ctypes.Peer{}
for _, peer := range p2pSwitch.Peers().List() {
2015-04-17 18:22:44 -07:00
peers = append(peers, ctypes.Peer{
NodeInfo: *peer.NodeInfo,
IsOutbound: peer.IsOutbound(),
ConnectionStatus: peer.Connection().Status(),
2015-04-17 18:22:44 -07:00
})
}
return &ctypes.ResultNetInfo{
Listening: listening,
Listeners: listeners,
Peers: peers,
}, nil
}
//-----------------------------------------------------------------------------
2016-12-08 21:26:07 -08:00
// Dial given list of seeds
2016-12-12 11:12:13 -08:00
func UnsafeDialSeeds(seeds []string) (*ctypes.ResultDialSeeds, error) {
2017-04-12 16:12:22 -07:00
if len(seeds) == 0 {
return &ctypes.ResultDialSeeds{}, fmt.Errorf("No seeds provided")
}
// starts go routines to dial each seed after random delays
2017-03-05 20:13:34 -08:00
log.Info("DialSeeds", "addrBook", addrBook, "seeds", seeds)
err := p2pSwitch.DialSeeds(addrBook, seeds)
2017-04-12 16:12:22 -07:00
if err != nil {
return &ctypes.ResultDialSeeds{}, err
}
return &ctypes.ResultDialSeeds{"Dialing seeds in progress. See /net_info for details"}, nil
}
//-----------------------------------------------------------------------------
func Genesis() (*ctypes.ResultGenesis, error) {
return &ctypes.ResultGenesis{genDoc}, nil
}