dcrd/internal/netsync
Dave Collins 19ffb98a05
netsync: Request init state immediately upon sync.
This modifies the logic that requests the initial state to happen
immediately when the initial chain sync process is complete as opposed
to the existing approach that uses a separate goroutine with polling on
a 3 second interval.

This approach is more efficient since it avoids extra goroutines and
also it also allows obtaining initial data, most notably pending
treasury spend transaction and votes for the current best block, more
quickly.
2021-11-16 20:59:42 -06:00
..
doc.go netsync: Add package documentation. 2020-12-15 13:26:57 -06:00
interface.go netsync/server: Update peer heights directly. 2021-01-07 17:15:36 -06:00
log.go multi: Add chain verify progress percentage. 2021-01-21 23:30:35 -06:00
manager.go netsync: Request init state immediately upon sync. 2021-11-16 20:59:42 -06:00
README.md netsync: Add package documentation. 2020-12-15 13:26:57 -06:00

netsync

Build Status ISC License Doc

Package netsync implements a concurrency safe block syncing protocol.

Overview

The provided implementation of SyncManager communicates with connected peers to perform an initial block download, keep the chain in sync, and announce new blocks connected to the chain. Currently the sync manager selects a single sync peer that it downloads all blocks from until it is up to date with the longest chain the sync peer is aware of.

License

Package netsync is licensed under the copyfree ISC License.