aboutsummaryrefslogtreecommitdiffstats
path: root/trie/shortnode.go
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2015-06-09 18:03:14 +0800
committerFelix Lange <fjl@twurst.com>2015-06-09 23:07:10 +0800
commit6c73a5980640581903d8f56b3912b22641d5195c (patch)
treede0f5956011ed74a7503f5684a85b3d739aec480 /trie/shortnode.go
parent41b2008a669a8454ae19f783eb2dcd967e8752cf (diff)
downloadgo-tangerine-6c73a5980640581903d8f56b3912b22641d5195c.tar
go-tangerine-6c73a5980640581903d8f56b3912b22641d5195c.tar.gz
go-tangerine-6c73a5980640581903d8f56b3912b22641d5195c.tar.bz2
go-tangerine-6c73a5980640581903d8f56b3912b22641d5195c.tar.lz
go-tangerine-6c73a5980640581903d8f56b3912b22641d5195c.tar.xz
go-tangerine-6c73a5980640581903d8f56b3912b22641d5195c.tar.zst
go-tangerine-6c73a5980640581903d8f56b3912b22641d5195c.zip
eth: limit number of sent transactions based on message size
Nodes that are out of sync will queue many transactions, which causes the initial transactions message to grow very large. Larger transactions messages can make communication impossible if the message is too big to send. Big transactions messages also exhaust egress bandwidth, which degrades other peer connections. The new approach to combat these issues is to send transactions in smaller batches. This commit introduces a new goroutine that handles delivery of all initial transaction transfers. Size-limited packs of transactions are sent to one peer at a time, conserving precious egress bandwidth.
Diffstat (limited to 'trie/shortnode.go')
0 files changed, 0 insertions, 0 deletions