blocksync

package
v1.8.4-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2022 License: Apache-2.0 Imports: 17 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BlockByHeight added in v1.2.0

type BlockByHeight func(uint64) (*block.Block, error)

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

	// 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.BlockSync,
	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

type CommitBlock func(*block.Block) error

CommitBlock commits a block to blockchain

type Neighbors added in v0.4.4

type Neighbors func() ([]peer.AddrInfo, error)

Neighbors acquires p2p neighbors in the network

type TipHeight added in v1.2.0

type TipHeight func() uint64

TipHeight returns the tip height of blockchain

type UniCastOutbound added in v1.8.2

type UniCastOutbound func(context.Context, peer.AddrInfo, proto.Message) error

UniCastOutbound sends a unicase message to the peer

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL