File tree Expand file tree Collapse file tree 1 file changed +24
-6
lines changed
Expand file tree Collapse file tree 1 file changed +24
-6
lines changed Original file line number Diff line number Diff line change @@ -53,6 +53,9 @@ const (
5353 // All transactions with a higher size will be announced and need to be fetched
5454 // by the peer.
5555 txMaxBroadcastSize = 4096
56+
57+ // maxHashCount is the max count of hashes in one batch to RequestTxs
58+ maxHashesCount = 500
5659)
5760
5861var (
@@ -688,12 +691,27 @@ func (h *handler) enableSyncedFeatures() {
688691
689692// BroadcastRequestTxs will send GetPooledTransactionsMsg to neighbor peers
690693func (h * handler ) BroadcastRequestTxs (txHashes []common.Hash ) {
691- for key , peer := range h .peers .peers {
692- err := peer .RequestTxs (txHashes )
693- if err != nil {
694- log .Error ("BroadcastRequestTxs" , "txHashes" , txHashes ,
695- "peerstring" , key ,
696- "error" , err )
694+ if len (txHashes ) == 0 {
695+ return
696+ }
697+ for i := 0 ; i <= len (txHashes )/ maxHashesCount ; i ++ {
698+ start := i * maxHashesCount
699+ stop := (i + 1 ) * maxHashesCount
700+ if stop > len (txHashes ) {
701+ stop = len (txHashes )
702+ }
703+ if start == stop {
704+ break
705+ }
706+ // Broadcast RequestTxs
707+ for key , peer := range h .peers .peers {
708+ err := peer .RequestTxs (txHashes )
709+ if err != nil {
710+ log .Error ("BroadcastRequestTxs" , "txHashes" , txHashes ,
711+ "peerstring" , key ,
712+ "error" , err )
713+ }
697714 }
698715 }
716+
699717}
You can’t perform that action at this time.
0 commit comments