class DefaultUdpConnector : UdpConnector, CoroutineScope
(source)
<init> |
DefaultUdpConnector(bindAddress: InetSocketAddress, keyPair: KeyPair, selfEnr: Bytes, enrStorage: ENRStorage = DefaultENRStorage(), receiveChannel: CoroutineDatagramChannel = CoroutineDatagramChannel.open(), nodesTable: RoutingTable = RoutingTable(selfEnr), topicTable: TopicTable = TopicTable(), ticketHolder: TicketHolder = TicketHolder(), authenticationProvider: AuthenticationProvider = DefaultAuthenticationProvider(keyPair, nodesTable), packetCodec: PacketCodec = DefaultPacketCodec(keyPair, nodesTable), selfNodeRecord: EthereumNodeRecord = EthereumNodeRecord.fromRLP(selfEnr), messageListeners: MutableList<MessageObserver> = mutableListOf(), coroutineContext: CoroutineContext = Dispatchers.IO) |
coroutineContext |
val coroutineContext: CoroutineContext |
attachObserver |
Attach observer for listening processed messages fun attachObserver(observer: MessageObserver): Unit |
detachObserver |
Remove observer for listening processed message fun detachObserver(observer: MessageObserver): Unit |
getAwaitingPongRecord |
Retrieve enr of pinging node fun getAwaitingPongRecord(nodeId: Bytes): Bytes? |
getEnr |
Provides node's ENR fun getEnr(): EthereumNodeRecord |
getEnrBytes |
Provides node's ENR in RLP encoded representation fun getEnrBytes(): Bytes |
getNodeKeyPair |
Provides node's key pair fun getNodeKeyPair(): KeyPair |
getNodeRecords |
Provides enr storage of known nodes fun getNodeRecords(): ENRStorage |
getNodesTable |
Get kademlia routing table fun getNodesTable(): RoutingTable |
getPendingMessage |
Retrieve last sent message, in case if it unauthorized and node can resend with authentication header fun getPendingMessage(authTag: Bytes): TrackingMessage? |
getSessionInitiatorKey |
Provides node's session initiator key fun getSessionInitiatorKey(nodeId: Bytes): Bytes |
getTicketHolder |
Provides node's ticket holder fun getTicketHolder(): TicketHolder |
getTopicRegistrar |
Provides node's topic registrar fun getTopicRegistrar(): TopicRegistrar |
getTopicTable |
Provides node's topic table fun getTopicTable(): TopicTable |
send |
Sends udp message by socket address suspend fun send(address: InetSocketAddress, message: UdpMessage, destNodeId: Bytes, handshakeParams: HandshakeInitParameters?): Unit |
start |
Bootstraps receive loop for incoming message handling suspend fun start(): Unit |
started |
Gives information about connector, whether receive loop is working fun started(): Boolean |
terminate |
Shut downs both udp receive loop and sender socket suspend fun terminate(): Unit |