diff options
author | obscuren <geffobscura@gmail.com> | 2015-04-19 05:56:08 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-04-19 05:56:08 +0800 |
commit | 50e096e627c8c07b4dda3a7221dda5f32dc5c5cb (patch) | |
tree | dd4d24e45e14ce075db255849a35e82259f43ba8 | |
parent | 03b4cf74a2d2ce2f1ff39f0354b9577425e6524e (diff) | |
download | go-tangerine-50e096e627c8c07b4dda3a7221dda5f32dc5c5cb.tar go-tangerine-50e096e627c8c07b4dda3a7221dda5f32dc5c5cb.tar.gz go-tangerine-50e096e627c8c07b4dda3a7221dda5f32dc5c5cb.tar.bz2 go-tangerine-50e096e627c8c07b4dda3a7221dda5f32dc5c5cb.tar.lz go-tangerine-50e096e627c8c07b4dda3a7221dda5f32dc5c5cb.tar.xz go-tangerine-50e096e627c8c07b4dda3a7221dda5f32dc5c5cb.tar.zst go-tangerine-50e096e627c8c07b4dda3a7221dda5f32dc5c5cb.zip |
downloader: don't remove peers. keep them around
-rw-r--r-- | eth/downloader/downloader.go | 5 | ||||
-rw-r--r-- | eth/handler.go | 11 | ||||
-rw-r--r-- | eth/protocol_test.go | 18 |
3 files changed, 17 insertions, 17 deletions
diff --git a/eth/downloader/downloader.go b/eth/downloader/downloader.go index 2f98a1414..8f955b483 100644 --- a/eth/downloader/downloader.go +++ b/eth/downloader/downloader.go @@ -176,6 +176,7 @@ out: var peer *peer = sync.peer err := d.getFromPeer(peer, sync.hash, sync.ignoreInitial) if err != nil { + glog.V(logger.Detail).Infoln(err) break } @@ -301,7 +302,7 @@ out: d.queue.reset() d.peers.reset() - return errPeersUnavailable + return fmt.Errorf("%v avaialable = %d. total = %d", errPeersUnavailable, len(availablePeers), len(d.peers)) } } else if len(d.queue.fetching) == 0 { @@ -321,7 +322,7 @@ out: if time.Since(chunk.itime) > blockTtl { badPeers = append(badPeers, pid) // remove peer as good peer from peer list - d.UnregisterPeer(pid) + //d.UnregisterPeer(pid) } } d.queue.mu.Unlock() diff --git a/eth/handler.go b/eth/handler.go index 749809175..effe25ae3 100644 --- a/eth/handler.go +++ b/eth/handler.go @@ -185,7 +185,16 @@ func (self *ProtocolManager) handleMsg(p *peer) error { if request.Amount > maxHashes { request.Amount = maxHashes } + hashes := self.chainman.GetBlockHashesFromHash(request.Hash, request.Amount) + + if glog.V(logger.Debug) { + if len(hashes) == 0 { + glog.Infof("invalid block hash %x", request.Hash.Bytes()[:4]) + } + } + + // returns either requested hashes or nothing (i.e. not found) return p.sendBlockHashes(hashes) case BlockHashesMsg: msgStream := rlp.NewStream(msg.Payload) @@ -282,6 +291,7 @@ func (self *ProtocolManager) handleMsg(p *peer) error { return nil } self.BroadcastBlock(hash, request.Block) + fmt.Println(request.Block.Hash().Hex(), "our calculated TD =", request.Block.Td, "their TD =", request.TD) } else { // adding blocks is synchronous go func() { @@ -291,6 +301,7 @@ func (self *ProtocolManager) handleMsg(p *peer) error { return } self.BroadcastBlock(hash, request.Block) + fmt.Println(request.Block.Hash().Hex(), "our calculated TD =", request.Block.Td, "their TD =", request.TD) }() } default: diff --git a/eth/protocol_test.go b/eth/protocol_test.go index 7c724f7a7..d44f66b89 100644 --- a/eth/protocol_test.go +++ b/eth/protocol_test.go @@ -1,20 +1,7 @@ package eth -import ( - "log" - "math/big" - "os" - "testing" - "time" - - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/crypto" - "github.com/ethereum/go-ethereum/errs" - ethlogger "github.com/ethereum/go-ethereum/logger" - "github.com/ethereum/go-ethereum/p2p" - "github.com/ethereum/go-ethereum/p2p/discover" -) +/* +TODO All of these tests need to be re-written var logsys = ethlogger.NewStdLogSystem(os.Stdout, log.LstdFlags, ethlogger.LogLevel(ethlogger.DebugDetailLevel)) @@ -398,3 +385,4 @@ func TestTransactionsMsg(t *testing.T) { eth.checkError(ErrDecode, delay) } +*/ |