This is an automated email from the ASF dual-hosted git repository.

toulmean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tuweni.git


The following commit(s) were added to refs/heads/master by this push:
     new 957dd41  Add docs ; add ability to add peers statically after starting
957dd41 is described below

commit 957dd4142a74783fbb471ef8845165e7ea5b5638
Author: Antoine Toulme <[email protected]>
AuthorDate: Sat Mar 28 00:25:23 2020 -0700

    Add docs ; add ability to add peers statically after starting
---
 .../apache/tuweni/devp2p/v5/NodeDiscoveryService.kt    | 18 +++++++++++-------
 .../org/apache/tuweni/kademlia/KademliaRoutingTable.kt |  3 +++
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git 
a/devp2p/src/main/kotlin/org/apache/tuweni/devp2p/v5/NodeDiscoveryService.kt 
b/devp2p/src/main/kotlin/org/apache/tuweni/devp2p/v5/NodeDiscoveryService.kt
index 30fa338..ffed109 100644
--- a/devp2p/src/main/kotlin/org/apache/tuweni/devp2p/v5/NodeDiscoveryService.kt
+++ b/devp2p/src/main/kotlin/org/apache/tuweni/devp2p/v5/NodeDiscoveryService.kt
@@ -125,6 +125,16 @@ class DefaultNodeDiscoveryService(
     connector.terminate()
   }
 
+  suspend fun addPeer(enr: Bytes) {
+    val randomMessage = RandomMessage()
+    val address = InetSocketAddress(enr.ip(), enr.udp())
+
+    val destNodeId = Hash.sha2_256(rlpENR)
+    enrStorage.set(rlpENR)
+    connector.getNodesTable().add(rlpENR)
+    connector.send(address, randomMessage, destNodeId)
+  }
+
   private suspend fun bootstrap() {
     bootstrapENRList.forEach {
       if (it.startsWith("enr:")) {
@@ -132,13 +142,7 @@ class DefaultNodeDiscoveryService(
         val rlpENR = Base64URLSafe.decode(encodedEnr)
         val enr = EthereumNodeRecord.fromRLP(rlpENR)
 
-        val randomMessage = RandomMessage()
-        val address = InetSocketAddress(enr.ip(), enr.udp())
-
-        val destNodeId = Hash.sha2_256(rlpENR)
-        enrStorage.set(rlpENR)
-        connector.getNodesTable().add(rlpENR)
-        connector.send(address, randomMessage, destNodeId)
+        addPeer(enr)
       }
     }
   }
diff --git 
a/kademlia/src/main/kotlin/org/apache/tuweni/kademlia/KademliaRoutingTable.kt 
b/kademlia/src/main/kotlin/org/apache/tuweni/kademlia/KademliaRoutingTable.kt
index 51fd69c..76fb988 100644
--- 
a/kademlia/src/main/kotlin/org/apache/tuweni/kademlia/KademliaRoutingTable.kt
+++ 
b/kademlia/src/main/kotlin/org/apache/tuweni/kademlia/KademliaRoutingTable.kt
@@ -215,6 +215,9 @@ class KademliaRoutingTable<T>(
     buckets.forEach { bucket -> bucket.clear() }
   }
 
+  /**
+   * Returns all peers at a given distance of the original ID.
+   */
   fun peersOfDistance(value: Int): List<T> {
     return buckets[value].toList()
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to