diff --git a/src/avalanche/processor.cpp b/src/avalanche/processor.cpp --- a/src/avalanche/processor.cpp +++ b/src/avalanche/processor.cpp @@ -536,11 +536,9 @@ auto proofVoteRecordsReadView = proofVoteRecords.getReadView(); auto pit = proofVoteRecordsReadView.begin(); - // Clamp to AVALANCHE_MAX_ELEMENT_POLL - 1 so we're always able to poll - // for a new block. Since the proofs are sorted by score, the most - // valuable are voted first. + // TODO Factorize the proof and block loops while (pit != proofVoteRecordsReadView.end() && - invs.size() < AVALANCHE_MAX_ELEMENT_POLL - 1) { + invs.size() < AVALANCHE_MAX_ELEMENT_POLL) { const bool shouldPoll = forPoll ? pit->second.registerPoll() : pit->second.shouldPoll(); if (shouldPoll) { diff --git a/src/avalanche/test/processor_tests.cpp b/src/avalanche/test/processor_tests.cpp --- a/src/avalanche/test/processor_tests.cpp +++ b/src/avalanche/test/processor_tests.cpp @@ -1113,7 +1113,7 @@ return proof; }; - for (size_t i = 0; i < AVALANCHE_MAX_ELEMENT_POLL - 1; i++) { + for (size_t i = 0; i < AVALANCHE_MAX_ELEMENT_POLL; i++) { auto proof = addProofToReconcile(++score); auto invs = AvalancheTest::getInvsForNextPoll(*m_processor); @@ -1129,7 +1129,7 @@ auto proof = addProofToReconcile(++score); auto invs = AvalancheTest::getInvsForNextPoll(*m_processor); - BOOST_CHECK_EQUAL(invs.size(), AVALANCHE_MAX_ELEMENT_POLL - 1); + BOOST_CHECK_EQUAL(invs.size(), AVALANCHE_MAX_ELEMENT_POLL); BOOST_CHECK(invs.front().IsMsgProof()); BOOST_CHECK_EQUAL(invs.front().hash, proof->getId()); @@ -1140,7 +1140,7 @@ auto proof = addProofToReconcile(--score); auto invs = AvalancheTest::getInvsForNextPoll(*m_processor); - BOOST_CHECK_EQUAL(invs.size(), AVALANCHE_MAX_ELEMENT_POLL - 1); + BOOST_CHECK_EQUAL(invs.size(), AVALANCHE_MAX_ELEMENT_POLL); BOOST_CHECK(invs.front().IsMsgProof()); BOOST_CHECK_EQUAL(invs.front().hash, lastProofId); }