eth/protocols/eth: replace array with counter in txn broadcaster (#23656)

pull/23684/head
Ferran Borreguero 3 years ago committed by GitHub
parent 5a0e1d88f4
commit 0dbb3b1601
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      eth/protocols/eth/broadcast.go

@ -75,18 +75,18 @@ func (p *Peer) broadcastTransactions() {
if done == nil && len(queue) > 0 { if done == nil && len(queue) > 0 {
// Pile transaction until we reach our allowed network limit // Pile transaction until we reach our allowed network limit
var ( var (
hashes []common.Hash hashesCount uint64
txs []*types.Transaction txs []*types.Transaction
size common.StorageSize size common.StorageSize
) )
for i := 0; i < len(queue) && size < maxTxPacketSize; i++ { for i := 0; i < len(queue) && size < maxTxPacketSize; i++ {
if tx := p.txpool.Get(queue[i]); tx != nil { if tx := p.txpool.Get(queue[i]); tx != nil {
txs = append(txs, tx) txs = append(txs, tx)
size += tx.Size() size += tx.Size()
} }
hashes = append(hashes, queue[i]) hashesCount++
} }
queue = queue[:copy(queue, queue[len(hashes):])] queue = queue[:copy(queue, queue[hashesCount:])]
// If there's anything available to transfer, fire up an async writer // If there's anything available to transfer, fire up an async writer
if len(txs) > 0 { if len(txs) > 0 {

Loading…
Cancel
Save