Skip to content

Conversation

@cce
Copy link
Owner

@cce cce commented Jul 6, 2022

This is the same as https://github.com/algorand/go-algorand/tree/feature/pipeline but without some cherry-picked CI-related commits added to the end

cce and others added 30 commits June 22, 2021 11:16
This will be useful for building a speculative ledger on top of a
ValidatedBlock.  Although the deltas as, in principle, sufficient, the
roundCowState is more efficient for operations like looking up a
particular account.
will help identify the protocol version for old-style pipelined
votes/blocks, in a subsequent commit
Slightly tricky because we need to consider two cases separately.  If
the seed is fully committed, we don't need to search for the appropriate
player; any of them will be fine.  But if the seed is only speculatively
committed, we need to find the right player.
instead of filling it in from demux, fill it in from the player instead,
since the player is now tracking versions.
when we wanted multiple timeouts that happen to be at the same time,
our implemenation had funny behavior: if the timeout already expired,
we got a closed channel, which implicitly signaled as many timeouts as
we wanted.  but if the timeout was in the future, time.After() would
only write a single time.Time value in the channel, so at most one
timeout would fire.
no reason to start pipelining faster than that, because FilterTimeout
limits how fast we can commit the pipelined agreements anyway.
cce pushed a commit that referenced this pull request Feb 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants