aboutsummaryrefslogtreecommitdiffstats
path: root/blockpool/blockpool.go
Commit message (Collapse)AuthorAgeFilesLines
* header check for testzelig2015-03-251-1/+5
|
* bugfix with idle too long triggered after peer switchzelig2015-03-251-4/+5
| | | | | | - reset bestIdleTimer when launching head section process - log chain head events - common.Hash key in activateChain map
* Idle too long error incorrectly triggered even when peer sending new blockszelig2015-03-221-0/+3
| | | | | | | | | - 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-201-6/+6
|
* improve documentation and move one testzelig2015-03-201-78/+98
|
* uncomment status test, hack: skip the 2 unreliable fieldszelig2015-03-201-1/+0
|
* check and penalise td misreportingzelig2015-03-201-0/+14
| | | | | | - add ErrIncorrectTD - checkTD called after insertChain successful - fix tests, use blockPoolTester.tds to map block index to TD
* use own total difficulty to limit best peerzelig2015-03-201-2/+44
| | | | | | | | | - 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-201-5/+12
| | | | set period (PeerSuspensionInterval)
* updated blockpoolobscuren2015-03-171-26/+25
|
* moved to detailobscuren2015-03-161-1/+1
|
* fix wonky head section loop; correct status countszelig2015-03-061-1/+2
|
* partial fix to idle best peer issuezelig2015-03-041-3/+11
| | | | | | - best peer cannot be idle for more than idleBestPeerTimeout - introduce ErrIdleTooLong fatal error - modify default values
* - fix peer disconnect by adding severity function to errszelig2015-03-031-9/+36
| | | | | | - improve logging - suicide -> removeChain - improved status BlocksInPool calculation
* major rewrite, reorg of blockpool + new featureszelig2015-02-251-0/+749
- 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