eth/downloader: implement beacon sync (#23982)
* eth/downloader: implement beacon sync * eth/downloader: fix a crash if the beacon chain is reduced in length * eth/downloader: fix beacon sync start/stop thrashing data race * eth/downloader: use a non-nil pivot even in degenerate sync requests * eth/downloader: don't touch internal state on beacon Head retrieval * eth/downloader: fix spelling mistakes * eth/downloader: fix some typos * eth: integrate legacy/beacon sync switchover and UX * eth: handle UX wise being stuck on post-merge TTD * core, eth: integrate the beacon client with the beacon sync * eth/catalyst: make some warning messages nicer * eth/downloader: remove Ethereum 1&2 notions in favor of merge * core/beacon, eth: clean up engine API returns a bit * eth/downloader: add skeleton extension tests * eth/catalyst: keep non-kiln spec, handle mining on ttd * eth/downloader: add beacon header retrieval tests * eth: fixed spelling, commented failing tests out * eth/downloader: review fixes * eth/downloader: drop peers failing to deliver beacon headers * core/rawdb: track beacon sync data in db inspect * eth: fix review concerns * internal/web3ext: nit Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
This commit is contained in:
@ -294,19 +294,19 @@ func (ps *peerSet) AllPeers() []*peerConnection {
|
||||
// peerCapacitySort implements sort.Interface.
|
||||
// It sorts peer connections by capacity (descending).
|
||||
type peerCapacitySort struct {
|
||||
p []*peerConnection
|
||||
tp []int
|
||||
peers []*peerConnection
|
||||
caps []int
|
||||
}
|
||||
|
||||
func (ps *peerCapacitySort) Len() int {
|
||||
return len(ps.p)
|
||||
return len(ps.peers)
|
||||
}
|
||||
|
||||
func (ps *peerCapacitySort) Less(i, j int) bool {
|
||||
return ps.tp[i] > ps.tp[j]
|
||||
return ps.caps[i] > ps.caps[j]
|
||||
}
|
||||
|
||||
func (ps *peerCapacitySort) Swap(i, j int) {
|
||||
ps.p[i], ps.p[j] = ps.p[j], ps.p[i]
|
||||
ps.tp[i], ps.tp[j] = ps.tp[j], ps.tp[i]
|
||||
ps.peers[i], ps.peers[j] = ps.peers[j], ps.peers[i]
|
||||
ps.caps[i], ps.caps[j] = ps.caps[j], ps.caps[i]
|
||||
}
|
||||
|
Reference in New Issue
Block a user