finishsync

package
v0.0.0-...-7ece11e Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Logger = FinishSyncLogger{}

Global instant to use

Functions

func NewDefaultFinishSyncMsgPool

func NewDefaultFinishSyncMsgPool()

Types

type FinishSyncLogger

type FinishSyncLogger struct {
	common.Logger
}

func (*FinishSyncLogger) Init

func (self *FinishSyncLogger) Init(inst common.Logger)

type FinishSyncMsgPool

type FinishSyncMsgPool struct {
	FinishedSyncValidators map[byte]map[string]bool `json:"FinishedSyncValidators"`
	ReceiveTime            map[string]uint64        //beacon block height that receive the msg
	// contains filtered or unexported fields
}

FinishSyncMsgPool manages FinishedSyncValidators in sync pool of attached view FinishedSyncValidators must only compatible with sync pool. It must only contain keys that also in sync pool FinishSyncMsgPool could maintain different data in different beacon nodes

var (
	DefaultFinishSyncMsgPool *FinishSyncMsgPool
)

func NewFinishSyncMsgPool

func NewFinishSyncMsgPool() FinishSyncMsgPool

func NewFinishSyncMsgPoolWithValue

func NewFinishSyncMsgPoolWithValue(validators map[byte]map[string]bool) FinishSyncMsgPool

func (*FinishSyncMsgPool) AddFinishedSyncValidators

func (f *FinishSyncMsgPool) AddFinishedSyncValidators(
	newFinishedSyncValidators []string,
	syncPool []string,
	shardID byte,
	beaconHeight uint64,
)

AddFinishedSyncValidators only add FinishedSyncValidators in sync pool of attached view and NOT duplicate in FinishSyncMsgPool.validator list

func (*FinishSyncMsgPool) Clean

func (f *FinishSyncMsgPool) Clean(allSyncPoolValidators map[byte][]string)

func (*FinishSyncMsgPool) Clone

func (*FinishSyncMsgPool) GetFinishedSyncValidators

func (f *FinishSyncMsgPool) GetFinishedSyncValidators() map[byte][]string

func (*FinishSyncMsgPool) Instructions

func (f *FinishSyncMsgPool) Instructions(allSyncPool map[byte][]string, currentBeaconHeight uint64) []*instruction.FinishSyncInstruction

Instructions ....

func (*FinishSyncMsgPool) RemoveValidators

func (f *FinishSyncMsgPool) RemoveValidators(validators []string, shardID byte)

RemoveValidators only remove FinishSyncMsgPool.validator list ONCE ignore FinishedSyncValidators not in FinishSyncMsgPool.FinishedSyncValidators list

func (*FinishSyncMsgPool) Validators

func (f *FinishSyncMsgPool) Validators(shardID byte) []string

Jump to

Keyboard shortcuts

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