From 73eb8e8c20b784e3a43f826e51a81326619d98ef Mon Sep 17 00:00:00 2001 From: obscuren Date: Thu, 16 Apr 2015 01:28:37 +0200 Subject: eth: basic implementation of the downloader --- eth/protocol.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'eth/protocol.go') diff --git a/eth/protocol.go b/eth/protocol.go index a85d15a0c..66f3cbac8 100644 --- a/eth/protocol.go +++ b/eth/protocol.go @@ -396,6 +396,31 @@ func (self *ethProtocol) requestBlocks(hashes []common.Hash) error { return p2p.Send(self.rw, GetBlocksMsg, hashes) } +/* +func (self *ethProtocol) newRespBlockCh() BlockPack { + self.blockRespCh = make(chan blockResp) + return self.blockRespCh +} + +func (self *ethProtocol) RequestBlocks(hashes *set.Set) <-chan []*types.Block { + out := make(chan []*types.Block) + go func() { + done: + for { + select { + case blockResp := <-self.newRespBlockCh(): + if len(blockResp.blocks) { + } + case <-time.After(5 * time.Second): + } + } + + close(out) + }() + return out +} +*/ + func (self *ethProtocol) protoError(code int, format string, params ...interface{}) (err *errs.Error) { err = self.errors.New(code, format, params...) //err.Log(self.peer.Logger) -- cgit