devp2p
Module Contents
alltypes
Module Contents
class DevP2PPeerRoutingTable : PeerRoutingTable
interface DiscoveryService
Module Contents
abstract suspend fun awaitBootstrap(): Int
abstract suspend fun awaitTermination(): Unit
abstract fun awaitTerminationAsync(): AsyncCompletion
abstract val expiredPackets: Long
abstract val filteredPackets: Long
abstract val invalidPackets: Long
abstract val isShutdown: Boolean
abstract val isTerminated: Boolean
abstract val localPort: Int
abstract suspend fun lookup(target: PublicKey): List<Peer>
abstract fun lookupAsync(target: PublicKey): AsyncResult<List<Peer>>
abstract val nodeId: PublicKey
@JvmOverloads fun open(keyPair: KeyPair, port: Int = 0, host: String? = null, seq: Long = Instant.now().toEpochMilli(), enrData: Map<String, Bytes> = emptyMap(), bootstrapURIs: List<URI> = emptyList(), peerRepository: PeerRepository = EphemeralPeerRepository(), advertiseAddress: InetAddress? = null, advertiseUdpPort: Int? = null, advertiseTcpPort: Int? = null, routingTable: PeerRoutingTable = DevP2PPeerRoutingTable(keyPair.publicKey()), packetFilter: (PublicKey, InetSocketAddress) -> Boolean = null, loggerProvider: LoggerProvider = LoggerProvider.nullProvider(), channelGroup: CoroutineChannelGroup = CommonCoroutineGroup, bufferAllocator: () -> ByteBuffer = DEFAULT_BUFFER_ALLOCATOR, timeSupplier: () -> Long = CURRENT_TIME_SUPPLIER): DiscoveryService
@JvmOverloads fun open(keyPair: KeyPair, bindAddress: InetSocketAddress, seq: Long = Instant.now().toEpochMilli(), enrData: Map<String, Bytes> = emptyMap(), bootstrapURIs: List<URI> = emptyList(), peerRepository: PeerRepository = EphemeralPeerRepository(), advertiseAddress: InetAddress? = null, advertiseUdpPort: Int? = null, advertiseTcpPort: Int? = null, routingTable: PeerRoutingTable = DevP2PPeerRoutingTable(keyPair.publicKey()), packetFilter: (PublicKey, InetSocketAddress) -> Boolean = null, loggerProvider: LoggerProvider = LoggerProvider.nullProvider(), channelGroup: CoroutineChannelGroup = CommonCoroutineGroup, bufferAllocator: () -> ByteBuffer = DEFAULT_BUFFER_ALLOCATOR, timeSupplier: () -> Long = CURRENT_TIME_SUPPLIER): DiscoveryService
abstract val selfPackets: Long
abstract fun shutdown(): Unit
abstract fun shutdownNow(): Unit
abstract val unexpectedENRResponses: Long
abstract val unexpectedNeighbors: Long
abstract val unexpectedPongs: Long
abstract val unvalidatedPeerPackets: Long
data class Endpoint
data class EnodeUriComponents
class EphemeralPeerRepository : PeerRepository
class EthereumNodeRecord
Module Contents
EthereumNodeRecord(signature: Bytes, seq: Long, data: Map<String, Bytes>)
val data: Map<String, Bytes>
@JvmStatic fun fromRLP(rlp: Bytes): EthereumNodeRecord
fun ip(): InetAddress
fun publicKey(): PublicKey
val seq: Long
val signature: Bytes
fun tcp(): Int
@JvmOverloads @JvmStatic fun toRLP(signatureKeyPair: KeyPair, seq: Long = Instant.now().toEpochMilli(), data: Map<String, Bytes>? = null, ip: InetAddress, tcp: Int? = null, udp: Int? = null): Bytes
fun udp(): Int
fun validate(): Unit
interface Peer
interface PeerRepository
interface PeerRoutingTable : Set<Peer>
package org.apache.tuweni.devp2p
Module Contents
const val DEVP2P_BUCKET_SIZE: Int
class DevP2PPeerRoutingTable : PeerRoutingTable
interface DiscoveryService
Module Contents
abstract suspend fun awaitBootstrap(): Int
abstract suspend fun awaitTermination(): Unit
abstract fun awaitTerminationAsync(): AsyncCompletion
abstract val expiredPackets: Long
abstract val filteredPackets: Long
abstract val invalidPackets: Long
abstract val isShutdown: Boolean
abstract val isTerminated: Boolean
abstract val localPort: Int
abstract suspend fun lookup(target: PublicKey): List<Peer>
abstract fun lookupAsync(target: PublicKey): AsyncResult<List<Peer>>
abstract val nodeId: PublicKey
@JvmOverloads fun open(keyPair: KeyPair, port: Int = 0, host: String? = null, seq: Long = Instant.now().toEpochMilli(), enrData: Map<String, Bytes> = emptyMap(), bootstrapURIs: List<URI> = emptyList(), peerRepository: PeerRepository = EphemeralPeerRepository(), advertiseAddress: InetAddress? = null, advertiseUdpPort: Int? = null, advertiseTcpPort: Int? = null, routingTable: PeerRoutingTable = DevP2PPeerRoutingTable(keyPair.publicKey()), packetFilter: (PublicKey, InetSocketAddress) -> Boolean = null, loggerProvider: LoggerProvider = LoggerProvider.nullProvider(), channelGroup: CoroutineChannelGroup = CommonCoroutineGroup, bufferAllocator: () -> ByteBuffer = DEFAULT_BUFFER_ALLOCATOR, timeSupplier: () -> Long = CURRENT_TIME_SUPPLIER): DiscoveryService
@JvmOverloads fun open(keyPair: KeyPair, bindAddress: InetSocketAddress, seq: Long = Instant.now().toEpochMilli(), enrData: Map<String, Bytes> = emptyMap(), bootstrapURIs: List<URI> = emptyList(), peerRepository: PeerRepository = EphemeralPeerRepository(), advertiseAddress: InetAddress? = null, advertiseUdpPort: Int? = null, advertiseTcpPort: Int? = null, routingTable: PeerRoutingTable = DevP2PPeerRoutingTable(keyPair.publicKey()), packetFilter: (PublicKey, InetSocketAddress) -> Boolean = null, loggerProvider: LoggerProvider = LoggerProvider.nullProvider(), channelGroup: CoroutineChannelGroup = CommonCoroutineGroup, bufferAllocator: () -> ByteBuffer = DEFAULT_BUFFER_ALLOCATOR, timeSupplier: () -> Long = CURRENT_TIME_SUPPLIER): DiscoveryService
abstract val selfPackets: Long
abstract fun shutdown(): Unit
abstract fun shutdownNow(): Unit
abstract val unexpectedENRResponses: Long
abstract val unexpectedNeighbors: Long
abstract val unexpectedPongs: Long
abstract val unvalidatedPeerPackets: Long
data class Endpoint
data class EnodeUriComponents
class EphemeralPeerRepository : PeerRepository
class EthereumNodeRecord
Module Contents
EthereumNodeRecord(signature: Bytes, seq: Long, data: Map<String, Bytes>)
val data: Map<String, Bytes>
@JvmStatic fun fromRLP(rlp: Bytes): EthereumNodeRecord
fun ip(): InetAddress
fun publicKey(): PublicKey
val seq: Long
val signature: Bytes
fun tcp(): Int
@JvmOverloads @JvmStatic fun toRLP(signatureKeyPair: KeyPair, seq: Long = Instant.now().toEpochMilli(), data: Map<String, Bytes>? = null, ip: InetAddress, tcp: Int? = null, udp: Int? = null): Bytes
fun udp(): Int
fun validate(): Unit
interface Peer
interface PeerRepository
interface PeerRoutingTable : Set<Peer>
fun parseEnodeUri(uri: URI): EnodeUriComponents