problem: a Websocket based upstream lacks current height until it loaded through Websocket

solution: load initial block through RPC, then continue with Websocket
This commit is contained in:
Igor Artamonov
2019-08-16 21:31:06 -04:00
parent 8d83935672
commit 303d7e1164
3 changed files with 19 additions and 8 deletions

View File

@@ -59,10 +59,12 @@ class ChainUpstreams (
upstream.setLag(0)
upstream.getHead()
} else {
val newHead = EthereumHeadMerge(upstreams.map { it.getHead() })
newHead.start()
val lagObserver = HeadLagObserver(newHead, upstreams)
lagObserver.start()
val newHead = EthereumHeadMerge(upstreams.map { it.getHead().getFlux() }).apply {
this.start()
}
val lagObserver = HeadLagObserver(newHead, upstreams).apply {
this.start()
}
this.lagObserver = lagObserver
newHead
}