From fe13949d9d938316c2c1b037b2cbce8e7bead525 Mon Sep 17 00:00:00 2001
From: Nick Johnson <arachnid@notdot.net>
Date: Wed, 5 Jul 2017 10:42:37 +0100
Subject: [PATCH] eth/downloader: Doc fixes
---
eth/downloader/downloader.go | 4 +++-
eth/downloader/peer.go | 6 ++++--
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,
--
GitLab