aboutsummaryrefslogtreecommitdiffstats
path: root/blockpool
Commit message (Collapse)AuthorAgeFilesLines
* basic glogobscuren2015-04-041-1/+1
|
* proper locking to prevent "parent unknown" INVALID blocks due to race in ↵zelig2015-04-021-5/+4
| | | | peer head info update
* proper locking to prevent close of closed channel crash when multiple mining ↵zelig2015-04-021-3/+7
| | | | peers compete
* blockpool: wrap intermittent status test in a loopzelig2015-03-272-40/+55
|
* header check for testzelig2015-03-252-3/+8
|
* bugfix with idle too long triggered after peer switchzelig2015-03-252-8/+10
| | | | | | - reset bestIdleTimer when launching head section process - log chain head events - common.Hash key in activateChain map
* fixed bad unclesobscuren2015-03-241-1/+2
|
* Merge branch 'jsonlog' of https://github.com/ethersphere/go-ethereum into ↵obscuren2015-03-231-12/+6
|\ | | | | | | | | | | | | ethersphere-jsonlog Conflicts: eth/backend.go
| * fix blockpool test loggerzelig2015-03-221-12/+6
| |
* | Idle too long error incorrectly triggered even when peer sending new blockszelig2015-03-224-28/+31
|/ | | | | | | | | - fix status chain map uses common.Hash as key - add badPeers increment to IncorrectTD errors (forgotten) - signal head info update to head section process even if parent hash is not in pool (inserted), so that idle timer can be set to nil - suicideC -> peer.headInfoTimer - quit -> peer.bestIdleTimer - and they are properly set from within getBlockHashes and handleSection
* use common.Hash as pool key, no string conversion neededzelig2015-03-202-8/+8
|
* fix common.Hash conversionzelig2015-03-203-3/+5
|
* fix import in reorganised testzelig2015-03-201-2/+0
|
* improve documentation and move one testzelig2015-03-209-156/+202
|
* reduce logging outputzelig2015-03-203-25/+22
|
* uncomment status test, hack: skip the 2 unreliable fieldszelig2015-03-202-171/+182
|
* check and penalise td misreportingzelig2015-03-207-52/+129
| | | | | | - add ErrIncorrectTD - checkTD called after insertChain successful - fix tests, use blockPoolTester.tds to map block index to TD
* fix missing hexification on IdleTooLong error logzelig2015-03-201-1/+1
|
* use own total difficulty to limit best peerzelig2015-03-205-15/+82
| | | | | | | | | - update blockpool td by subscribing to ChainHeadEvent - if ahead of best peer, demote it - addPeer now take own td as current td - removePeer now take own td as current td - add relevant tests to peers_test - eth: backend now calls blockpool with eth.eventMux and chainManager.Td
* peer suspension to disallow reconnect after disconnect on fatal error for ↵zelig2015-03-207-40/+116
| | | | set period (PeerSuspensionInterval)
* updated blockpoolobscuren2015-03-173-58/+57
|
* Moved ethutil => commonobscuren2015-03-163-9/+9
|
* moved to detailobscuren2015-03-161-1/+1
|
* fix wonky head section loop; correct status countszelig2015-03-062-24/+33
|
* partial fix to idle best peer issuezelig2015-03-043-13/+33
| | | | | | - best peer cannot be idle for more than idleBestPeerTimeout - introduce ErrIdleTooLong fatal error - modify default values
* log when added peer is behind (hash found in blockchain)zelig2015-03-031-0/+1
|
* - fix peer disconnect by adding severity function to errszelig2015-03-034-38/+55
| | | | | | - improve logging - suicide -> removeChain - improved status BlocksInPool calculation
* major rewrite, reorg of blockpool + new featureszelig2015-02-2513-0/+3583
- blockpool moves to its own package - uses errs pkg for its own coded errors - publicly settable config of params (time intervals and batchsizes) - test helpers in subpackage - optional TD in blocks used now to update peers chain info - major improvement in algorithm - fix fragility and sync/parallelisation bugs - implement status for reporting on sync status (peers/hashes/blocks etc) - several tests added and further corner cases covered