aboutsummaryrefslogtreecommitdiffstats
path: root/eth/downloader
diff options
context:
space:
mode:
authorNick Johnson <arachnid@notdot.net>2017-07-05 17:42:37 +0800
committerNick Johnson <arachnid@notdot.net>2017-07-05 18:13:16 +0800
commitfe13949d9d938316c2c1b037b2cbce8e7bead525 (patch)
treeb0aeafee58c6476b5f824e5a78288be9b406b7b8 /eth/downloader
parentbe8f8409bc7f0f3124b7ebd1480337e4b1942113 (diff)
downloaddexon-fe13949d9d938316c2c1b037b2cbce8e7bead525.tar
dexon-fe13949d9d938316c2c1b037b2cbce8e7bead525.tar.gz
dexon-fe13949d9d938316c2c1b037b2cbce8e7bead525.tar.bz2
dexon-fe13949d9d938316c2c1b037b2cbce8e7bead525.tar.lz
dexon-fe13949d9d938316c2c1b037b2cbce8e7bead525.tar.xz
dexon-fe13949d9d938316c2c1b037b2cbce8e7bead525.tar.zst
dexon-fe13949d9d938316c2c1b037b2cbce8e7bead525.zip
eth/downloader: Doc fixes
Diffstat (limited to 'eth/downloader')
-rw-r--r--eth/downloader/downloader.go4
-rw-r--r--eth/downloader/peer.go6
2 files changed, 7 insertions, 3 deletions
diff --git a/eth/downloader/downloader.go b/eth/downloader/downloader.go
index cf8e1becf..6ac58140a 100644
--- a/eth/downloader/downloader.go
+++ b/eth/downloader/downloader.go
@@ -153,6 +153,7 @@ type Downloader struct {
chainInsertHook func([]*fetchResult) // Method to call upon inserting a chain of blocks (possibly in multiple invocations)
}
+// LightChain encapsulates functions required to synchronise a light chain.
type LightChain interface {
// HasHeader verifies a header's presence in the local chain.
HasHeader(common.Hash) bool
@@ -173,6 +174,7 @@ type LightChain interface {
Rollback([]common.Hash)
}
+// BlockChain encapsulates functions required to sync a (full or fast) blockchain.
type BlockChain interface {
LightChain
@@ -281,7 +283,7 @@ func (d *Downloader) RegisterPeer(id string, version int, peer Peer) error {
return nil
}
-// RegisterLightPeer injects a light client peer
+// RegisterLightPeer injects a light client peer, wrapping it so it appears as a regular peer.
func (d *Downloader) RegisterLightPeer(id string, version int, peer LightPeer) error {
return d.RegisterPeer(id, version, &lightPeerWrapper{peer})
}
diff --git a/eth/downloader/peer.go b/eth/downloader/peer.go
index 96870da50..d0dc9a8aa 100644
--- a/eth/downloader/peer.go
+++ b/eth/downloader/peer.go
@@ -45,7 +45,7 @@ var (
errNotRegistered = errors.New("peer is not registered")
)
-// peer represents an active peer from which hashes and blocks are retrieved.
+// peerConnection represents an active peer from which hashes and blocks are retrieved.
type peerConnection struct {
id string // Unique identifier of the peer
@@ -75,12 +75,14 @@ type peerConnection struct {
lock sync.RWMutex
}
+// LightPeer encapsulates the methods required to synchronise with a remote light peer.
type LightPeer interface {
Head() (common.Hash, *big.Int)
RequestHeadersByHash(common.Hash, int, int, bool) error
RequestHeadersByNumber(uint64, int, int, bool) error
}
+// Peer encapsulates the methods required to synchronise with a remote full peer.
type Peer interface {
LightPeer
RequestBodies([]common.Hash) error
@@ -110,7 +112,7 @@ func (w *lightPeerWrapper) RequestNodeData([]common.Hash) error {
panic("RequestNodeData not supported in light client mode sync")
}
-// newPeerConnection creates a new downloader peer
+// newPeerConnection creates a new downloader peer.
func newPeerConnection(id string, version int, peer Peer, logger log.Logger) *peerConnection {
return &peerConnection{
id: id,