Documentation ¶
Index ¶
Constants ¶
View Source
const ( // Open indicates an open state Open = iota // Closing indicates a closing state Closing = Open + 1 // Closed indicates a closed state Closed = Closing + 1 )
Variables ¶
View Source
var ( // ErrInvalidRange indicates invalid range. ErrInvalidRange = errors.New("invalid open/close values") )
View Source
var WindowSize uint64 = 8
WindowSize defines the size of window
Functions ¶
This section is empty.
Types ¶
type BlockSync ¶
type BlockSync interface { lifecycle.StartStopper TargetHeight() uint64 P2P() network.Overlay ProcessSyncRequest(sender string, sync *pb.BlockSync) error ProcessBlock(blk *blockchain.Block) error ProcessBlockSync(blk *blockchain.Block) error }
BlockSync defines the interface of blocksyncer
func NewBlockSyncer ¶
func NewBlockSyncer( cfg *config.Config, chain blockchain.Blockchain, ap actpool.ActPool, p2p network.Overlay, ) (BlockSync, error)
NewBlockSyncer returns a new block syncer instance
type SlidingWindow ¶
type SlidingWindow struct { State int // contains filtered or unexported fields }
SlidingWindow implements a sliding window
func NewSlidingWindow ¶
func NewSlidingWindow() *SlidingWindow
NewSlidingWindow returns a SlidingWindow instance
func (*SlidingWindow) Next ¶
func (sw *SlidingWindow) Next() uint64
Next returns the next close value of the sliding window
func (*SlidingWindow) SetRange ¶
func (sw *SlidingWindow) SetRange(left uint64, right uint64) error
SetRange set the initial range for sliding window
func (*SlidingWindow) TurnClose ¶
func (sw *SlidingWindow) TurnClose() bool
TurnClose returns true if state transitions Open --> Closing/Closed
func (*SlidingWindow) TurnOpen ¶
func (sw *SlidingWindow) TurnOpen() bool
TurnOpen returns true if state transitions Closing/Closed --> Open
func (*SlidingWindow) Update ¶
func (sw *SlidingWindow) Update(value uint64)
Update updates the window [close, open]
Click to show internal directories.
Click to hide internal directories.