From 86b23af6c6e4e3207bde8911976050e1b432db58 Mon Sep 17 00:00:00 2001 From: Termina1 Date: Fri, 2 Dec 2022 19:21:04 +0200 Subject: [PATCH] add logs for forkchoice --- .../upstream/forkchoice/PriorityForkChoice.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/kotlin/io/emeraldpay/dshackle/upstream/forkchoice/PriorityForkChoice.kt b/src/main/kotlin/io/emeraldpay/dshackle/upstream/forkchoice/PriorityForkChoice.kt index 50685b3a..3faf027b 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/upstream/forkchoice/PriorityForkChoice.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/upstream/forkchoice/PriorityForkChoice.kt @@ -3,12 +3,17 @@ package io.emeraldpay.dshackle.upstream.forkchoice import io.emeraldpay.dshackle.data.BlockContainer import io.emeraldpay.dshackle.data.BlockId import io.emeraldpay.dshackle.data.RingSet +import org.slf4j.LoggerFactory import java.util.concurrent.atomic.AtomicReference class PriorityForkChoice : ForkChoice { private val head = AtomicReference(null) private val seenBlocks = RingSet(10) + companion object { + private val log = LoggerFactory.getLogger(PriorityForkChoice::class.java) + } + override fun getHead(): BlockContainer? { return head.get() } @@ -19,17 +24,24 @@ class PriorityForkChoice : ForkChoice { } override fun choose(block: BlockContainer): ForkChoice.ChoiceResult { + head.get()?.let { + log.debug("Candidate for priority forkchoice (${block.height}, ${block.nodeRating}), current is (${it.height},${it.nodeRating}") + } val nwhead = head.updateAndGet { curr -> if (!filter(block)) { + log.debug("Preparing to deny block ${block.height}") curr } else { + log.debug("Preparing to accept block ${block.height}") seenBlocks.add(block.hash) block } } if (nwhead.hash == block.hash) { + log.debug("Accepted block ${block.height}") return ForkChoice.ChoiceResult.Updated(nwhead) } + log.debug("Denied block ${block.height}") return ForkChoice.ChoiceResult.Same(nwhead) } }