fuel-bft icon indicating copy to clipboard operation
fuel-bft copied to clipboard

Handle timeouts

Open adlerjohn opened this issue 3 years ago • 1 comments

I'm fine with merging without that for now. But eventually, this should include some kind of tokio task or executor that drives progress and handles timeouts etc. (originally posted by @Voxelot)

adlerjohn avatar Jan 09 '22 16:01 adlerjohn

Implementing timeouts in this library is a trade-off.

If we implement timeouts for the consensus here, then we might end coupling the pure logic with implementation details such as a reactor to track the timeouts and generate new blocks.

Any consumer of this library can trivially keep track of the timeouts and expect blocks to be generated. If no block achieved consensus, then it should check if it is the next leader - in that case, it should propose a block.

We can add an API here to allow the node to actively propose a block - that way, the node is also responsible to keep track of the timeouts.

vlopes11 avatar Feb 01 '22 00:02 vlopes11