Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  var DefaultConfig = Config{ Interval: 30 * time.Second, ProcessSyncRequestTTL: 10 * time.Second, BufferSize: 200, IntervalSize: 20, MaxRepeat: 3, RepeatDecayStep: 1, }
DefaultConfig is the default config
Functions ¶
This section is empty.
Types ¶
type BlockByHeight ¶ added in v1.2.0
BlockByHeight returns the block of a given height
type BlockPeer ¶ added in v1.8.2
type BlockPeer func(string)
BlockPeer adds the peer into blacklist in p2p layer
type BlockSync ¶
type BlockSync interface {
	lifecycle.StartStopper
	nodestats.StatsReporter
	// TargetHeight returns the target height to sync to
	TargetHeight() uint64
	// ProcessSyncRequest processes a block sync request
	ProcessSyncRequest(context.Context, peer.AddrInfo, uint64, uint64) error
	// ProcessBlock processes an incoming block
	ProcessBlock(context.Context, string, *block.Block) error
	// SyncStatus report block sync status
	SyncStatus() (startingHeight uint64, currentHeight uint64, targetHeight uint64, syncSpeedDesc string)
}
    BlockSync defines the interface of blocksyncer
func NewBlockSyncer ¶
func NewBlockSyncer( cfg Config, tipHeightHandler TipHeight, blockByHeightHandler BlockByHeight, commitBlockHandler CommitBlock, p2pNeighbor Neighbors, uniCastHandler UniCastOutbound, blockP2pPeer BlockPeer, ) (BlockSync, error)
NewBlockSyncer returns a new block syncer instance
func NewDummyBlockSyncer ¶ added in v1.6.3
func NewDummyBlockSyncer() BlockSync
NewDummyBlockSyncer creates a dummy BlockSync
type CommitBlock ¶ added in v1.2.0
CommitBlock commits a block to blockchain
type Config ¶ added in v0.4.4
type Config struct {
	Interval              time.Duration `yaml:"interval"` // update duration
	ProcessSyncRequestTTL time.Duration `yaml:"processSyncRequestTTL"`
	BufferSize            uint64        `yaml:"bufferSize"`
	IntervalSize          uint64        `yaml:"intervalSize"`
	// MaxRepeat is the maximal number of repeat of a block sync request
	MaxRepeat int `yaml:"maxRepeat"`
	// RepeatDecayStep is the step for repeat number decreasing by 1
	RepeatDecayStep int `yaml:"repeatDecayStep"`
}
    Config is the config struct for the BlockSync
 Click to show internal directories. 
   Click to hide internal directories.