refactor(mirror): return a struct with a Vec of txs in next_batch() #11325
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Before this change, the
TxTracker
returns aMappedBlock
fromnext_batch()
and accepts it (viaSentBatch
) inon_txs_sent()
. This struct contains a vec of transactions per chunk, and corresponds to a particular block height. In preparation for implementing a qps option tomirror run
, we refactor it to return a newstruct TxBatch
, which only has aVec
of the transactions we want to send. The previous separation of the transactions by shard served no purpose, really, and removing that will make it easier to implement the qps option, since then we'll no longer be batching transactions by block height, but will just be sending them at a regular interval regardless of block height or shard ID.The
struct MappedBlock
doesn't fully go away with this PR, since it's cumbersome to remove it everywhere, but this refactoring should be enough to let us move forward