diff --git a/p2p/discover/table.go b/p2p/discover/table.go index b3d18ae41f..6a3d1af3af 100644 --- a/p2p/discover/table.go +++ b/p2p/discover/table.go @@ -695,44 +695,6 @@ func pushNode(list []*tableNode, n *tableNode, max int) ([]*tableNode, *tableNod return list, removed } -// waitInit waits until the table is initialized. -func (tab *Table) waitInit() { - <-tab.initDone -} - -// nodeList returns all nodes contained in the table. -func (tab *Table) nodeList() []*enode.Node { - if !tab.isInitDone() { - return nil - } - - tab.mutex.Lock() - defer tab.mutex.Unlock() - - var nodes []*enode.Node - for _, b := range &tab.buckets { - for _, n := range b.entries { - nodes = append(nodes, n.Node) - } - } - return nodes -} - -// nodeIds returns the node IDs hex representation in the table. -func (tab *Table) nodeIds() [][]string { - tab.mutex.Lock() - defer tab.mutex.Unlock() - nodes := make([][]string, 0) - for _, b := range &tab.buckets { - bucketNodes := make([]string, 0) - for _, n := range b.entries { - bucketNodes = append(bucketNodes, fmt.Sprintf("0x%s", n.ID().String())) - } - nodes = append(nodes, bucketNodes) - } - return nodes -} - // deleteNode removes a node from the table. func (tab *Table) deleteNode(n *enode.Node) { tab.mutex.Lock() diff --git a/p2p/discover/v5_udp.go b/p2p/discover/v5_udp.go index 4c4fa3afb1..82ab138377 100644 --- a/p2p/discover/v5_udp.go +++ b/p2p/discover/v5_udp.go @@ -252,15 +252,20 @@ func (t *UDPv5) ResolveNodeId(id enode.ID) *enode.Node { // AllNodes returns all the nodes stored in the local table. func (t *UDPv5) AllNodes() []*enode.Node { - return t.tab.nodeList() + t.tab.mutex.Lock() + defer t.tab.mutex.Unlock() + nodes := make([]*enode.Node, 0) + + for _, b := range &t.tab.buckets { + for _, n := range b.entries { + nodes = append(nodes, n.Node) + } + } + return nodes } -// RoutingTableInfo returns the routing table information. Used for Portal discv5 RoutingTableInfo API. -func (t *UDPv5) RoutingTableInfo() [][]string { - return t.tab.nodeIds() -} - -// AddKnownNode adds a node to the routing table. Used for Portal discv5 AddEnr API. +// AddKnownNode adds a node to the routing table. +// The function should be used for testing only. func (t *UDPv5) AddKnownNode(n *enode.Node) bool { return t.tab.addFoundNode(n, true) } @@ -270,11 +275,6 @@ func (t *UDPv5) DeleteNode(n *enode.Node) { t.tab.deleteNode(n) } -// WaitInit waits for the routing table to be initialized. -func (t *UDPv5) WaitInit() { - t.tab.waitInit() -} - // LocalNode returns the current local Node running the // protocol. func (t *UDPv5) LocalNode() *enode.LocalNode {