mirror of
https://github.com/logos-co/roadmap.git
synced 2025-02-03 03:43:47 +00:00
Update Carnot-Specs
This commit is contained in:
parent
4ebe426aa8
commit
4be882da84
@ -41,9 +41,10 @@ Local Variables:
|
|||||||
|
|
||||||
|
|
||||||
Utilities:
|
Utilities:
|
||||||
leader (randseed): returns the leader of the view
|
leader (randseed): returns the leader of the view.
|
||||||
reset(): resets timer. If the timer expires a node times out
|
reset(): resets timer. If the timer expires a node times out.
|
||||||
extends(block, ancestor): returns true if block is descendant of the ancestor in the chain.
|
extends(block, ancestor): returns true if block is descendant of the ancestor in the chain.
|
||||||
|
download(view): Download missing block for the view.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -67,9 +68,30 @@ Utilities:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Func update_higQC(qc, aggQC):
|
||||||
|
if qc != Null{ # Happy case
|
||||||
|
if qc.block.view > highQC.block.view{
|
||||||
|
highQC = qc
|
||||||
|
}
|
||||||
|
if qc.block.view > curView { # download blocks from missing views
|
||||||
|
while curView++ <= qc.block.view {
|
||||||
|
download(curView)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
reset()
|
||||||
|
}
|
||||||
|
|
||||||
|
if aggQC != Null { # Unhappy case
|
||||||
|
if aggQC.highQC.block.view != highQC.block.view{
|
||||||
|
highQC = aggQC.highQC # release the lock and adopt the global lock
|
||||||
|
if aggQC.highQC.block.view > curView { # download the blocks of the missed views
|
||||||
|
while curView++ <= aggQC.highQC.view {
|
||||||
|
download(curView)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
reset()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user