Commit Graph

25 Commits

Author SHA1 Message Date
zelig 859f1f08ca blockpool: wrap intermittent status test in a loop 2015-03-26 19:00:18 +00:00
zelig 18d1569ce5 header check for test 2015-03-25 12:11:29 +00:00
zelig 9d592c0445 bugfix with idle too long triggered after peer switch
- reset bestIdleTimer when launching head section process
- log chain head events
- common.Hash key in activateChain map
2015-03-25 12:11:29 +00:00
obscuren c8e9ca0483 fixed bad uncles 2015-03-23 18:27:05 +01:00
obscuren 8b1b9fc99d Merge branch 'jsonlog' of https://github.com/ethersphere/go-ethereum into ethersphere-jsonlog
Conflicts:
	eth/backend.go
2015-03-22 21:43:36 +01:00
zelig 0edb33566f fix blockpool test logger 2015-03-22 02:18:07 +00:00
zelig 95038fc62d Idle too long error incorrectly triggered even when peer sending new blocks
- 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
2015-03-22 02:02:24 +00:00
zelig 66b29899c4 use common.Hash as pool key, no string conversion needed 2015-03-20 11:57:47 +00:00
zelig d7564a9a25 fix common.Hash conversion 2015-03-20 10:41:41 +00:00
zelig 8987750a36 fix import in reorganised test 2015-03-20 10:41:41 +00:00
zelig a578db5dae improve documentation and move one test 2015-03-20 10:41:41 +00:00
zelig 8767179d74 reduce logging output 2015-03-20 10:41:41 +00:00
zelig 63cae9b9ac uncomment status test, hack: skip the 2 unreliable fields 2015-03-20 10:41:41 +00:00
zelig 137a9c9365 check and penalise td misreporting
- add ErrIncorrectTD
- checkTD called after insertChain successful
- fix tests, use blockPoolTester.tds to map block index to TD
2015-03-20 10:41:41 +00:00
zelig a9926a289d fix missing hexification on IdleTooLong error log 2015-03-20 10:41:40 +00:00
zelig 391e89d70a use own total difficulty to limit best peer
- 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
2015-03-20 10:41:40 +00:00
zelig 50661f0e68 peer suspension to disallow reconnect after disconnect on fatal error for set period (PeerSuspensionInterval) 2015-03-20 10:41:40 +00:00
obscuren 843db4978e updated blockpool 2015-03-16 23:10:26 +01:00
obscuren b523441361 Moved ethutil => common 2015-03-16 11:27:38 +01:00
obscuren 22fa59f131 moved to detail 2015-03-15 21:47:35 +01:00
zelig 9067b2848a fix wonky head section loop; correct status counts 2015-03-06 01:33:57 +07:00
zelig 2c616bd279 partial fix to idle best peer issue
- best peer cannot be idle for more than idleBestPeerTimeout
- introduce ErrIdleTooLong fatal error
- modify default values
2015-03-04 02:06:15 +07:00
zelig 47278a6e4e log when added peer is behind (hash found in blockchain) 2015-03-03 03:39:21 +07:00
zelig a60a18b080 - fix peer disconnect by adding severity function to errs
- improve logging
- suicide -> removeChain
- improved status BlocksInPool calculation
2015-03-03 00:43:12 +07:00
zelig 422490d75c major rewrite, reorg of blockpool + new features
- 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
2015-02-25 19:34:12 +07:00