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
commit 44e40122880b6cd299b079b82993118488c87793 Author: Antoine Toulme <[email protected]> AuthorDate: Tue Jun 9 00:49:24 2020 -0700 Make DNSDaemon easier to work with --- .../main/kotlin/org/apache/tuweni/discovery/DNSDaemon.kt | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/dns-discovery/src/main/kotlin/org/apache/tuweni/discovery/DNSDaemon.kt b/dns-discovery/src/main/kotlin/org/apache/tuweni/discovery/DNSDaemon.kt index afead4d..d915c83 100644 --- a/dns-discovery/src/main/kotlin/org/apache/tuweni/discovery/DNSDaemon.kt +++ b/dns-discovery/src/main/kotlin/org/apache/tuweni/discovery/DNSDaemon.kt @@ -26,27 +26,22 @@ import java.util.concurrent.atomic.AtomicReference /** * Resolves DNS records over time, refreshing records. * + * @param enrLink the ENR link to start with, of the form enrtree://PUBKEY@domain + * @param listeners Listeners notified when records are read and whenever they are updated. * @param dnsServer the DNS server to use for DNS query. If null, the default DNS server will be used. * @param seq the sequence number of the root record. If the root record seq is higher, proceed with visit. - * @param enrLink the ENR link to start with, of the form enrtree://PUBKEY@domain * @param period the period at which to poll DNS records * @param resolver */ public class DNSDaemon @JvmOverloads constructor( - private val dnsServer: String? = null, - private val seq: Long = 0, private val enrLink: String, + val listeners : Set<(List<EthereumNodeRecord>) -> Unit> = HashSet(), + private val seq: Long = 0, private val period: Long = 60000L, + private val dnsServer: String? = null, private val resolver: Resolver = SimpleResolver(dnsServer) ) { - - /** - * Listeners notified when records are read and whenever they are updated. - */ - val listeners = HashSet<(List<EthereumNodeRecord>) -> Unit>() - private val timer: Timer = Timer(false) - private val records = AtomicReference<EthereumNodeRecord>() init { timer.scheduleAtFixedRate(DNSTimerTask(resolver, seq, enrLink, this::updateRecords), 0, period) --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
