5ec6ecc511
eth, eth/fetcher: move propagated block import into fetcher
2015-06-18 15:56:08 +03:00
a9ada0b5ba
eth/fetcher: make tests thread safe
2015-06-18 15:56:08 +03:00
37c5ff392f
eth/fetcher: build longest chain until proven otherwise
2015-06-18 15:56:08 +03:00
2a7411bc96
eth/fetcher: fix premature queue cleanup, general polishes
2015-06-18 15:56:08 +03:00
497a7f1717
eth, eth/fetcher: define and enforce propagation boundaries
2015-06-18 15:56:08 +03:00
026ee40650
eth/fetcher: deduplicate future blocks
2015-06-18 15:56:08 +03:00
11c8f83a58
eth, eth/fetcher: cache future propagated blocks too
2015-06-18 15:56:08 +03:00
057bc237ad
eth, eth/fetcher: use an import queue to store out of order blocks
2015-06-18 15:56:07 +03:00
8b64e041d6
eth/fetcher: add test to check for duplicate downloads
2015-06-18 15:56:07 +03:00
2a1b722d04
eth/fetcher: fix timer reset bug, add initial tests
2015-06-18 15:56:07 +03:00
7c2af1c117
eth, eth/fetcher: separate notification sync mechanism
2015-06-18 15:56:07 +03:00
4365668462
eth/downloader: extend slow test to fix even slower CI server...
2015-06-18 00:42:02 +03:00
55dd8fd621
eth/downloader: always reenter processing if not exiting
2015-06-18 00:26:54 +03:00
2f4cbe22f5
eth, eth/downloader: fix processing interrupt caused by temp cancel
2015-06-18 00:04:57 +03:00
4a1e82cf3f
eth/downloader: fix #1280 , overlapping (good/bad) delivery hang
2015-06-17 12:03:16 +03:00
cc0b451119
Merge pull request #1260 from obscuren/tx-drop-low-tx
...
core: drop low gas tx
2015-06-15 09:09:44 -07:00
f2a2164184
Merge pull request #990 from zsfelfoldi/gasprice
...
eth: add GasPriceOracle
2015-06-15 08:44:25 -07:00
a977cecbe4
fixed gas price corr. factor
2015-06-15 15:55:38 +02:00
6e212bdc6d
fallback for uninitialized GPO config values
2015-06-15 15:55:38 +02:00
2e8016c80d
fixed initial base price bug
2015-06-15 15:55:38 +02:00
0930e190a7
added missing source
2015-06-15 15:55:38 +02:00
3f94d09c1f
fixed saving receipts
2015-06-15 15:55:38 +02:00
aa250e228a
eth: don't refetch non fitting blocks to avoid duplicates
2015-06-15 15:18:31 +03:00
cf7c44a7f6
eth/downloader: detailed comment for the race corner case
2015-06-15 15:18:04 +03:00
9c03c374e3
eth/downloader: fix import statistic reset, fetch hashes async
2015-06-15 13:05:01 +03:00
6d817e16c1
core, miner: tx pool drops txs below ask price
2015-06-15 11:33:08 +02:00
b240983e2b
eth, eth/downloader: do async block fetches, add dl tests
2015-06-15 12:26:05 +03:00
30a9939388
eth/downloader: sanity test for multi peer syncs
2015-06-15 09:22:37 +03:00
fc7abd9886
eth, eth/downloader: move block processing into the downlaoder
2015-06-15 09:22:37 +03:00
0fc71877a7
eth/downloader: add valid peer during attacks (check interference)
2015-06-15 09:22:37 +03:00
80833f8137
eth/downloader: instreument and test the sync peer drop
2015-06-15 09:22:37 +03:00
faae8b7dd8
eth: fix an accidental test compile error
2015-06-15 09:22:37 +03:00
2dd6a62f67
eth/downloader: support individual peers in the test suite
2015-06-15 09:22:36 +03:00
2937903299
eth/downloader: remove uneeded testing functions
2015-06-15 09:22:36 +03:00
66d3dc8690
eth, eth/downloader: move peer removal into downloader
2015-06-15 09:22:36 +03:00
90c4493a10
eth, core: interupt the chain processing on stop
...
Added an additional channel which is used to interupt the chain manager
when it's processing blocks.
2015-06-12 13:41:34 +02:00
13bd452faf
Merge pull request #1227 from karalabe/block-fetcher-optimisations
...
eth: optimize the notification/explicit fetch mechanism
2015-06-11 03:31:41 -07:00
979ebfc126
Merge pull request #1224 from karalabe/report-import-progress
...
cmd/geth, eth/downloader: collect and report import progress too
2015-06-10 15:30:20 -07:00
3c1cccc801
eth/downloader: fetch the block hashes on the fly, when needed
2015-06-10 20:12:22 +03:00
e61db7145a
eth: dedup fetches to ensure no blocks are pulled twice
2015-06-10 19:47:59 +03:00
355b1e3bb1
eth: randomly fetch announced block (don't hammer origin)
2015-06-10 19:47:59 +03:00
b9affbf9fe
eth: discard fetched blocks that don't fit (no goroutine)
2015-06-10 19:47:59 +03:00
65a48f9cd8
core: fixed race condition in the transaction pool
...
Removed `Stop/Start` mechanism from the transaction pool.
2015-06-10 17:13:32 +02:00
271fb20ecb
cmd/geth, eth/downloader: rough guess at the import eta
2015-06-10 18:01:05 +03:00
b3d5ce7d48
cmd/geth, eth/downloader: collect and report import progress too
2015-06-10 01:20:35 +03:00
73c355591f
core, eth: document that result of GetTransactions is modifiable
2015-06-09 17:07:10 +02:00
8dc3048f65
eth/downloader: fix hash fetch timeout handling
...
Fixes #1206
2015-06-09 17:07:10 +02:00
2c24a73e25
eth: add protocol tests
...
The protocol tests were commented out when eth/downloader was introduced.
2015-06-09 17:07:10 +02:00
6c73a59806
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.
2015-06-09 17:07:10 +02:00
41b2008a66
eth: limit number of sent blocks based on message size
...
If blocks get larger, sending 256 at once can make messages large
enough to exceed the low-level write timeout.
2015-06-09 17:06:31 +02:00