Documentation ¶
Index ¶
Constants ¶
View Source
const ( // MaxHeadersPerBatch is the number of headers to be retrieved per batch. MaxHeadersPerBatch = 64 // MaxBlocksPerBatch is the number of blocks to be retrieved per batch. MaxBlocksPerBatch = 42 // ProviderSearchTimeout is the max duration to find a peer for a resource. ProviderSearchTimeout = time.Second * 10 )
Variables ¶
View Source
var ( // ErrNoProvider is returned when no peer was found for a given resource. ErrNoProvider = errors.New("no peer could provide the resource") // ErrNoCommonAncestor is returned when no common ancestor is found with a peer's chain. ErrNoCommonAncestor = errors.New("the peer's chain does not intersect with ours") )
View Source
var OptMaxBatchSizes = func(m uint64) Opt {
return func(c *synchronizer) {
c.maxHeadersPerBatch = m
c.maxBlocksPerBatch = m
}
}
OptMaxBatchSizes sets a max for the number of items in batch calls.
Functions ¶
This section is empty.
Types ¶
type ContentProviderFinder ¶
type ContentProviderFinder interface {
FindProviders(ctx context.Context, c cid.Cid) ([]pstore.PeerInfo, error)
}
ContentProviderFinder is an interface used to get the peers that provide a resource. The resource is identified by a content ID.
type Synchronizer ¶
type Synchronizer interface { // Synchronize syncs the local chain with the network. // The given hash tells where to start the sync from. // e.g, genesis block hash for full resync when a new node comes. // Returns the blocks in a channel. Synchronize(context.Context, []byte, chain.Reader) (<-chan *pb.Block, <-chan error) }
Synchronizer is used to sync the local chain with a peer's chain.
func NewSynchronizer ¶
func NewSynchronizer(p p2p.P2P, dht ContentProviderFinder, opts ...Opt) Synchronizer
NewSynchronizer initializes a new synchronizer.
Directories ¶
Path | Synopsis |
---|---|
Package mocksynchronizer is a generated GoMock package.
|
Package mocksynchronizer is a generated GoMock package. |
Click to show internal directories.
Click to hide internal directories.