Péter Szilágyi
|
8c4c7ea192
|
eth/fetcher: lower max cache size, add timeout slack
|
2015-06-19 16:46:16 +03:00 |
|
Péter Szilágyi
|
d5871fc200
|
Merge pull request #1295 from karalabe/fix-broadcast-order
eth: fix the propagation/announce order for mined blocks
|
2015-06-19 10:15:20 +03:00 |
|
Péter Szilágyi
|
4180ca7fe4
|
eth: fix the propagation/announce order for mined blocks
|
2015-06-19 10:07:37 +03:00 |
|
Péter Szilágyi
|
13c25036ea
|
eth/fetcher: since uncles are allowed, drop phase test
|
2015-06-18 20:10:07 +03:00 |
|
Péter Szilágyi
|
ecd19919c5
|
eth/fetcher: allow backward uncle imports too
|
2015-06-18 19:43:47 +03:00 |
|
Péter Szilágyi
|
90d45f0397
|
eth: fix test breakage from the previous commit
|
2015-06-18 18:25:27 +03:00 |
|
Péter Szilágyi
|
b91b581b80
|
eth, eth/fetcher: propagate after header verify, announce only on insert
|
2015-06-18 18:00:19 +03:00 |
|
Péter Szilágyi
|
629705ad53
|
eth: clean the block request packet handling a bit
|
2015-06-18 16:09:34 +03:00 |
|
Péter Szilágyi
|
5ec6ecc511
|
eth, eth/fetcher: move propagated block import into fetcher
|
2015-06-18 15:56:08 +03:00 |
|
Péter Szilágyi
|
a9ada0b5ba
|
eth/fetcher: make tests thread safe
|
2015-06-18 15:56:08 +03:00 |
|
Péter Szilágyi
|
37c5ff392f
|
eth/fetcher: build longest chain until proven otherwise
|
2015-06-18 15:56:08 +03:00 |
|
Péter Szilágyi
|
2a7411bc96
|
eth/fetcher: fix premature queue cleanup, general polishes
|
2015-06-18 15:56:08 +03:00 |
|
Péter Szilágyi
|
497a7f1717
|
eth, eth/fetcher: define and enforce propagation boundaries
|
2015-06-18 15:56:08 +03:00 |
|
Péter Szilágyi
|
026ee40650
|
eth/fetcher: deduplicate future blocks
|
2015-06-18 15:56:08 +03:00 |
|
Péter Szilágyi
|
11c8f83a58
|
eth, eth/fetcher: cache future propagated blocks too
|
2015-06-18 15:56:08 +03:00 |
|
Péter Szilágyi
|
057bc237ad
|
eth, eth/fetcher: use an import queue to store out of order blocks
|
2015-06-18 15:56:07 +03:00 |
|
Péter Szilágyi
|
8b64e041d6
|
eth/fetcher: add test to check for duplicate downloads
|
2015-06-18 15:56:07 +03:00 |
|
Péter Szilágyi
|
2a1b722d04
|
eth/fetcher: fix timer reset bug, add initial tests
|
2015-06-18 15:56:07 +03:00 |
|
Péter Szilágyi
|
7c2af1c117
|
eth, eth/fetcher: separate notification sync mechanism
|
2015-06-18 15:56:07 +03:00 |
|
Péter Szilágyi
|
4365668462
|
eth/downloader: extend slow test to fix even slower CI server...
|
2015-06-18 00:42:02 +03:00 |
|
Péter Szilágyi
|
55dd8fd621
|
eth/downloader: always reenter processing if not exiting
|
2015-06-18 00:26:54 +03:00 |
|
Péter Szilágyi
|
2f4cbe22f5
|
eth, eth/downloader: fix processing interrupt caused by temp cancel
|
2015-06-18 00:04:57 +03:00 |
|
Péter Szilágyi
|
4a1e82cf3f
|
eth/downloader: fix #1280, overlapping (good/bad) delivery hang
|
2015-06-17 12:03:16 +03:00 |
|
Péter Szilágyi
|
aa250e228a
|
eth: don't refetch non fitting blocks to avoid duplicates
|
2015-06-15 15:18:31 +03:00 |
|
Péter Szilágyi
|
cf7c44a7f6
|
eth/downloader: detailed comment for the race corner case
|
2015-06-15 15:18:04 +03:00 |
|
Péter Szilágyi
|
9c03c374e3
|
eth/downloader: fix import statistic reset, fetch hashes async
|
2015-06-15 13:05:01 +03:00 |
|
Péter Szilágyi
|
b240983e2b
|
eth, eth/downloader: do async block fetches, add dl tests
|
2015-06-15 12:26:05 +03:00 |
|
Péter Szilágyi
|
30a9939388
|
eth/downloader: sanity test for multi peer syncs
|
2015-06-15 09:22:37 +03:00 |
|
Péter Szilágyi
|
fc7abd9886
|
eth, eth/downloader: move block processing into the downlaoder
|
2015-06-15 09:22:37 +03:00 |
|
Péter Szilágyi
|
0fc71877a7
|
eth/downloader: add valid peer during attacks (check interference)
|
2015-06-15 09:22:37 +03:00 |
|
Péter Szilágyi
|
80833f8137
|
eth/downloader: instreument and test the sync peer drop
|
2015-06-15 09:22:37 +03:00 |
|
Péter Szilágyi
|
faae8b7dd8
|
eth: fix an accidental test compile error
|
2015-06-15 09:22:37 +03:00 |
|
Péter Szilágyi
|
2dd6a62f67
|
eth/downloader: support individual peers in the test suite
|
2015-06-15 09:22:36 +03:00 |
|
Péter Szilágyi
|
2937903299
|
eth/downloader: remove uneeded testing functions
|
2015-06-15 09:22:36 +03:00 |
|
Péter Szilágyi
|
66d3dc8690
|
eth, eth/downloader: move peer removal into downloader
|
2015-06-15 09:22:36 +03:00 |
|
Péter Szilágyi
|
3c1cccc801
|
eth/downloader: fetch the block hashes on the fly, when needed
|
2015-06-10 20:12:22 +03:00 |
|
Péter Szilágyi
|
e61db7145a
|
eth: dedup fetches to ensure no blocks are pulled twice
|
2015-06-10 19:47:59 +03:00 |
|
Péter Szilágyi
|
355b1e3bb1
|
eth: randomly fetch announced block (don't hammer origin)
|
2015-06-10 19:47:59 +03:00 |
|
Péter Szilágyi
|
b9affbf9fe
|
eth: discard fetched blocks that don't fit (no goroutine)
|
2015-06-10 19:47:59 +03:00 |
|
Péter Szilágyi
|
c4af70d0cc
|
cmd/geth: round the import ETA before converting to string
|
2015-06-10 18:07:23 +03:00 |
|
Péter Szilágyi
|
271fb20ecb
|
cmd/geth, eth/downloader: rough guess at the import eta
|
2015-06-10 18:01:05 +03:00 |
|
Péter Szilágyi
|
b3d5ce7d48
|
cmd/geth, eth/downloader: collect and report import progress too
|
2015-06-10 01:20:35 +03:00 |
|
Péter Szilágyi
|
1cbbfbe7fa
|
p2p: fix a close race in the dial test
|
2015-06-09 22:26:26 +03:00 |
|
Péter Szilágyi
|
4541c22964
|
event/filter: hack around data race in the test
|
2015-06-09 21:33:39 +03:00 |
|
Péter Szilágyi
|
d652a58ada
|
core: fix a race condition accessing the gas limit
|
2015-06-09 21:13:21 +03:00 |
|
Péter Szilágyi
|
fecf214175
|
core: fix a lock annoyance and potential deadlock
|
2015-06-09 21:02:26 +03:00 |
|
Péter Szilágyi
|
d6f4c515f5
|
jsre: print function arguments too
|
2015-06-09 17:23:44 +03:00 |
|
Péter Szilágyi
|
7842559353
|
jsre: sort pretty print output, fields before funcs
|
2015-06-09 17:19:56 +03:00 |
|
Péter Szilágyi
|
ebf2aabd25
|
core: fix up a deadlock caused by double locking
|
2015-06-09 16:26:44 +03:00 |
|
Péter Szilágyi
|
ff84352fb7
|
p2p: fix close data race
|
2015-06-09 16:12:24 +03:00 |
|
Péter Szilágyi
|
ca8cb65b73
|
core: fix data race accessing ChainManager.currentBlock
|
2015-06-09 15:30:46 +03:00 |
|
Péter Szilágyi
|
07baf66200
|
core: fix data race in accessing ChainManager.td
|
2015-06-09 15:23:20 +03:00 |
|
Péter Szilágyi
|
d09ead546c
|
eth: fix a data race in the hash announcement processing
|
2015-06-09 15:09:15 +03:00 |
|
Péter Szilágyi
|
f86707713c
|
eth: fix data race accessing peer.td
|
2015-06-09 14:56:27 +03:00 |
|
Péter Szilágyi
|
44147d057d
|
eth: fix data race accessing peer.recentHash
|
2015-06-09 14:27:44 +03:00 |
|
Péter Szilágyi
|
3f4ce70d92
|
jsre: fix wrong separator comma placing due to non consistent field orders
|
2015-06-09 13:27:45 +03:00 |
|
Péter Szilágyi
|
8216bb901c
|
eth: clean up pending announce download map, polish logs
|
2015-06-09 00:37:10 +03:00 |
|
Péter Szilágyi
|
9ed166c196
|
eth: split and handle explicitly vs. download requested blocks
|
2015-06-08 20:38:39 +03:00 |
|
Péter Szilágyi
|
fdccce781e
|
eth: fetch announced hashes from origin, periodically
|
2015-06-08 19:24:56 +03:00 |
|
Péter Szilágyi
|
8c012e103f
|
eth: mark blocks as known when broadcasting hashes too
|
2015-06-08 18:44:02 +03:00 |
|
Péter Szilágyi
|
6f415b96b3
|
eth: implement the NewBlockHashes protocol proposal
|
2015-06-08 18:44:02 +03:00 |
|
Péter Szilágyi
|
4ed3509a02
|
eth/downloader: test registration rejection on head ban
|
2015-06-08 15:02:52 +03:00 |
|
Péter Szilágyi
|
c4f224932f
|
eth/downloader: reject peer registration if head is banned
|
2015-06-08 14:46:31 +03:00 |
|
Péter Szilágyi
|
63c6cedb14
|
eth/downloader: cap the hash ban set, add test for it
|
2015-06-08 14:12:00 +03:00 |
|
Péter Szilágyi
|
4b2dd44711
|
eth/downloader: fix throttling test to be less timing dependent
|
2015-06-08 13:23:58 +03:00 |
|
Péter Szilágyi
|
2d627995cf
|
eth/downloader: fix another rebase error
|
2015-06-08 13:23:58 +03:00 |
|
Péter Szilágyi
|
b40c796ff7
|
eth/downloader: preallocate the block cache
|
2015-06-08 13:23:58 +03:00 |
|
Péter Szilágyi
|
1d7bf3d39f
|
eth/downloader: fix merge compile error
|
2015-06-08 13:23:58 +03:00 |
|
Péter Szilágyi
|
6d497f61c6
|
eth/downloader: don't block hash deliveries while pulling blocks
|
2015-06-08 13:23:58 +03:00 |
|
Péter Szilágyi
|
9da0232eef
|
eth/downloader: update test for shitty travis
|
2015-06-08 13:23:58 +03:00 |
|
Péter Szilágyi
|
0275fcb3d3
|
eth/downloader: clean up and simplify the code a bit
|
2015-06-08 13:23:58 +03:00 |
|
Péter Szilágyi
|
abdfcda4dd
|
eth/downloader: short circuit sync if head hash is banned
|
2015-06-08 13:23:58 +03:00 |
|
Péter Szilágyi
|
84bc93d8cb
|
eth/downloader: accumulating hash bans for reconnecting attackers
|
2015-06-08 13:23:58 +03:00 |
|
Péter Szilágyi
|
eedb25b22a
|
eth/downloader: clean up tests and unused variables
|
2015-06-08 13:23:57 +03:00 |
|
Péter Szilágyi
|
94e525ae12
|
eth, eth/downloader: fix #1098, elevate empty hash errors to peer drops
|
2015-06-05 12:52:48 +03:00 |
|
Péter Szilágyi
|
328ef60b85
|
eth/downloader: differentiate stale and nonexistent deliveries
|
2015-06-05 12:37:48 +03:00 |
|
Péter Szilágyi
|
94e4aa6ea9
|
eth/downloader: log hard timeouts and reset capacity
|
2015-06-05 11:53:46 +03:00 |
|
Péter Szilágyi
|
d754c25cc8
|
eth/downloader: drop log entry from peer, it's covered already
|
2015-06-04 16:22:55 +03:00 |
|
Péter Szilágyi
|
24cca2f18d
|
eth/downloader: log after state updates, easier to debug
|
2015-06-04 15:10:43 +03:00 |
|
Péter Szilágyi
|
28c32d1b1b
|
eth/downloader: fix #1178, don't request blocks beyond the cache bounds
|
2015-06-04 14:51:14 +03:00 |
|
Péter Szilágyi
|
3ec159ab6b
|
eth/downloader: demote peers if they exceed the soft limits at 1 blocks already
|
2015-06-03 15:43:12 +03:00 |
|
Péter Szilágyi
|
c9a546c310
|
eth/downloader: add a basic block download congestion control
|
2015-06-03 14:40:11 +03:00 |
|
Péter Szilágyi
|
14e7192d9c
|
crypto/sha3: pull in latest keccak from go crypto (45% speed increase)
|
2015-06-03 12:00:39 +03:00 |
|
Péter Szilágyi
|
b7fc85d68e
|
core: fix #1154, sort out data race accessing the future blocks
|
2015-05-29 23:46:10 +03:00 |
|
Péter Szilágyi
|
29b0480cfb
|
core, eth/downloader: expose the bad hashes, check in downloader
|
2015-05-28 14:03:10 +03:00 |
|
Péter Szilágyi
|
5235e01b8d
|
eth: hard disconnect if a peer is flaky
|
2015-05-27 18:58:51 +03:00 |
|
Péter Szilágyi
|
3f91ee4ff8
|
cmd/geth: expand admin.progress() to something meaningful
|
2015-05-27 16:46:46 +03:00 |
|
Péter Szilágyi
|
612f01400f
|
p2p/discover: bond with seed nodes too (runs only if findnode failed)
|
2015-05-26 23:30:41 +02:00 |
|
Péter Szilágyi
|
3630432dfb
|
p2p/discovery: fix a cornercase loop if no seeds or bootnodes are known
|
2015-05-26 23:30:40 +02:00 |
|
Péter Szilágyi
|
f539ed1e66
|
p2p/discover: force refresh if the table is empty
|
2015-05-26 23:30:40 +02:00 |
|
Péter Szilágyi
|
5076170f34
|
p2p/discover: permit temporary bond failures for previously known nodes
|
2015-05-26 23:30:40 +02:00 |
|
Péter Szilágyi
|
6078aa08eb
|
p2p/discover: watch find failures, evacuate on too many, rebond if failed
|
2015-05-26 23:30:40 +02:00 |
|
Péter Szilágyi
|
64174f196f
|
p2p/discover: add support for counting findnode failures
|
2015-05-26 23:30:40 +02:00 |
|
Péter Szilágyi
|
4de8213887
|
cmd/geth: fix js console test for p2p server update
|
2015-05-26 19:35:31 +03:00 |
|
Péter Szilágyi
|
68898a4d6b
|
p2p: fix Self() panic if listening is disabled
|
2015-05-26 19:16:05 +03:00 |
|
Péter Szilágyi
|
e1a0ee8fc5
|
cmd/geth, cmd/utils, eth, p2p: pass and honor a no discovery flag
|
2015-05-26 19:07:24 +03:00 |
|
Péter Szilágyi
|
278183c7e7
|
eth, p2p: start the p2p server even if maxpeers == 0
|
2015-05-26 17:49:37 +03:00 |
|
Péter Szilágyi
|
3083ec5e32
|
eth/downloader: silence "Added N blocks from..." if N == 0
|
2015-05-26 16:10:28 +03:00 |
|
Péter Szilágyi
|
eafdc1f8e3
|
eth, eth/downloader: surface downloaded block origin, drop on error
|
2015-05-26 14:00:21 +03:00 |
|
Péter Szilágyi
|
cbd3ae6906
|
p2p/discover: fix #838, evacuate self entries from the node db
|
2015-05-21 19:41:46 +03:00 |
|