Péter Szilágyi
685862d2ce
eth/downloader: fix #910 , thread safe peers & polishes
10 years ago
obscuren
05715f27cf
eth: added a cancel method for the downloader
...
Added a cancel method to the downloader which gracefully shuts down any
active syncing process (hash fetching or block downloading) and resets
the queue and remove any pending blocks.
Issue with the downloader which would stall because of an active ongoing
process when an invalid block was found.
10 years ago
Péter Szilágyi
edad47bf0e
eth/downloader: fix leftover state between syncs
10 years ago
Péter Szilágyi
bd5720f480
eth, eth/downloader: handle sync errors a bit more gracefully
10 years ago
Péter Szilágyi
9d188f73b5
eth, eth/downloader: make synchronize thread safe
10 years ago
Péter Szilágyi
45f8304f3c
eth/downloader: fix expiration not running while fetching
10 years ago
Péter Szilágyi
4800c94392
eth/downloader: prioritize block fetch based on chain position, cap memory use
10 years ago
obscuren
1470b22e90
downloader: hash downloading recovery
...
If a peer fails to respond (disconnect, etc) during hash downloading
switch to a different peer which has it's current_hash in the queue's
peer set.
10 years ago
obscuren
493181ea09
eth/downloader: changed has to blockHashes for chain linking
10 years ago
obscuren
016f152b36
eth, eth/downloader: Moved block processing & graceful shutdown
...
The downloader is no longer responsible for processing blocks. The
eth-protocol handler now takes care of this instead.
Added graceful shutdown during block processing. Closes #846
10 years ago
obscuren
8595198c1b
eth/downloader: delete blocks from queue
10 years ago
obscuren
9b6e8f6195
eth, eth/downloader: remove bad peers from peer set
...
Peers in the eth protocol handler are now being ignored for catch up.
10 years ago
obscuren
f8c27d7159
eth/downloader: drop block
10 years ago
obscuren
dfbf580354
eth/downloader: ignore orphan blocks in the downloader.
...
When blocks have been sorted and are being processed, orphan blocks
should be ignored and thrown out. The protocol handler is responsible
for downloading blocks which have missing parents.
10 years ago
obscuren
735b029db9
core: return the index of the block that failed when inserting a chain
10 years ago
obscuren
13364a2dcf
eth/downloader: reset the chain when parent is missing during processing
10 years ago
obscuren
4b7bdc3766
eth: check if downloader is busy before showing log message
10 years ago
obscuren
7ce3d06402
eth/downloader: removed update loop and synch channel
10 years ago
obscuren
d84c2202e7
eth, eth/downloader: simplified synchronisation process
10 years ago
obscuren
31f82eb334
eth, eth/downloader: don't require td on downloader. Fixed tests
10 years ago
obscuren
b86e7526e1
eth, eth/downloader: moved peer selection to protocol handler
10 years ago
obscuren
45da3e17e2
core: added chain head reset to known block
10 years ago
obscuren
5dd56bb474
geth: admin download status
10 years ago
obscuren
ed07ffcde5
downloader: fixed tests with low ttl
10 years ago
obscuren
dcf1a1988a
moved
10 years ago
obscuren
cce4158cfc
Removed debug println
10 years ago
obscuren
c58918c84a
downloader: moved chunk ignoring. Fixes issue with catching up
10 years ago
obscuren
5c59d95532
downloader: defer peer reset after download
10 years ago
obscuren
86ecdcd5ff
downloader: reset hashTtl on receive
10 years ago
obscuren
50e096e627
downloader: don't remove peers. keep them around
10 years ago
obscuren
6830ddb659
downloader: free up peers from work when the downloader resets
10 years ago
obscuren
7c5d50f627
downloader: throw an error if there are no peers available for download
...
If all peers have been tried during the block download process and some
hashes are unfetchable (available peers > 0 and fetching == 0) throw an
error so the process can be aborted.
10 years ago
obscuren
78e37e98e7
downloader: fixed a race condition for download status
10 years ago
obscuren
0d536734fe
eth: adapted to new synchronous api of downloader's AddBlock
10 years ago
obscuren
c2c24b3bb4
downloader: improved downloading and synchronisation
...
* Downloader's peers keeps track of peer's previously requested hashes
so that we don't have to re-request
* Changed `AddBlock` to be fully synchronous
10 years ago
obscuren
60613b57d1
downloader: make sure that hashes are only accepted from the active peer
10 years ago
obscuren
8244825bbf
downloader: reset the queue if a peer response with an empty hash set
10 years ago
obscuren
8f873b762b
downloader: all handlers check for isBusy
10 years ago
obscuren
eac2df02d1
downloader: fixed a typo
10 years ago
obscuren
205378016f
downloader: added demotion / promotion in prep. for rep. system
10 years ago
obscuren
eda10c7317
downloader: updated downloader and fixed issues with catch up
...
Properly ignore blocks coming from peers not in our peer list (blocked)
and do never request anything from bad peers. Added some checks to
account for blocks known when requesting hashes (missing parents).
10 years ago
obscuren
c4678ffd77
downloader: updated downloader and fixed issues with catch up
...
Properly ignore blocks coming from peers not in our peer list (blocked)
and do never request anything from bad peers. Added some checks to
account for blocks known when requesting hashes (missing parents).
10 years ago
obscuren
a8a2b2a488
downloader: added missing blocks catchup functionality
...
When a parent is missing in the block list an attempt should be made to
fetch the missing parent and grandparents.
10 years ago
obscuren
7dcb9825c3
downloader: return an error for peer.fetch and return chunk to queue
...
If a peer was somehow already fetching and somehow managed to end up in
the `available` pool it should return it's work.
10 years ago
obscuren
acf8452c33
downloader: implemented new downloader
10 years ago