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]