diff --git a/src/decision-engine/index.js b/src/decision-engine/index.js index ffd0827b..d502b0f4 100644 --- a/src/decision-engine/index.js +++ b/src/decision-engine/index.js @@ -59,6 +59,7 @@ class DecisionEngine { if (size >= MAX_MESSAGE_SIZE || // need to ensure the last remaining items get sent outstanding === 0) { + size = 0 const nextBatch = batch.slice() batch = [] this._sendSafeBlocks(peer, nextBatch, (err) => { diff --git a/test/decision-engine/decision-engine.js b/test/decision-engine/decision-engine.js index a205745f..64cf6a39 100644 --- a/test/decision-engine/decision-engine.js +++ b/test/decision-engine/decision-engine.js @@ -216,7 +216,11 @@ describe('Engine', () => { }) const net = mockNetwork(5, (res) => { - expect(res.messages).to.have.length(5) + res.messages.forEach((message) => { + // The batch size is big enough to hold two blocks, so every + // message should contain two blocks + expect(message[1].blocks.size).to.eql(2) + }) done() })