tuweni / org.apache.tuweni.devp2p.v5 / UdpConnector

UdpConnector

interface UdpConnector (source)

Module, used for network communication. It accepts and sends incoming messages and also provides peer information, like node's ENR, key pair

Functions

attachObserver

abstract fun attachObserver(observer: MessageObserver): Unit

Attach observer for listening processed messages

detachObserver

abstract fun detachObserver(observer: MessageObserver): Unit

Remove observer for listening processed message

getAwaitingPongRecord

abstract fun getAwaitingPongRecord(nodeId: Bytes): Bytes?

Retrieve enr of pinging node

getEnr

abstract fun getEnr(): EthereumNodeRecord

Provides node's ENR

getEnrBytes

abstract fun getEnrBytes(): Bytes

Provides node's ENR in RLP encoded representation

getNodeKeyPair

abstract fun getNodeKeyPair(): KeyPair

Provides node's key pair

getNodeRecords

abstract fun getNodeRecords(): ENRStorage

Provides enr storage of known nodes

getNodesTable

abstract fun getNodesTable(): RoutingTable

Get kademlia routing table

getPendingMessage

abstract fun getPendingMessage(authTag: Bytes): TrackingMessage?

Retrieve last sent message, in case if it unauthorized and node can resend with authentication header

getSessionInitiatorKey

abstract fun getSessionInitiatorKey(nodeId: Bytes): Bytes

Provides node's session initiator key

getTicketHolder

abstract fun getTicketHolder(): TicketHolder

Provides node's ticket holder

getTopicRegistrar

abstract fun getTopicRegistrar(): TopicRegistrar

Provides node's topic registrar

getTopicTable

abstract fun getTopicTable(): TopicTable

Provides node's topic table

send

abstract suspend fun send(address: InetSocketAddress, message: UdpMessage, destNodeId: Bytes, handshakeParams: HandshakeInitParameters? = null): Unit

Sends udp message by socket address

start

abstract suspend fun start(): Unit

Bootstraps receive loop for incoming message handling

started

abstract fun started(): Boolean

Gives information about connector, whether receive loop is working

terminate

abstract suspend fun terminate(): Unit

Shut downs both udp receive loop and sender socket

Inheritors

DefaultUdpConnector

class DefaultUdpConnector : UdpConnector, CoroutineScope