prprocessor

package
v0.0.0-...-5a6e01e Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2023 License: GPL-3.0 Imports: 18 Imported by: 0

Documentation

Overview

Package prprocessor provides the processor of operations

Index

Constants

This section is empty.

Variables

View Source
var (
	PrepareFailedError = util.NewError("failed to prepare")
	SaveFailedError    = util.NewError("failed to save")
)

Functions

func LogEventProcessor

func LogEventProcessor(pr Processor, key string, e *zerolog.Event) *zerolog.Event

Types

type ConcurrentOperationsProcessor

type ConcurrentOperationsProcessor struct {
	sync.RWMutex
	*logging.Logging
	// contains filtered or unexported fields
}

func NewConcurrentOperationsProcessor

func NewConcurrentOperationsProcessor(
	size uint64,
	max int64,
	pool *storage.Statepool,
	oppHintSet *hint.Hintmap,
) (*ConcurrentOperationsProcessor, error)

func (*ConcurrentOperationsProcessor) Cancel

func (co *ConcurrentOperationsProcessor) Cancel() error

func (*ConcurrentOperationsProcessor) Close

func (*ConcurrentOperationsProcessor) OperationsTree

func (co *ConcurrentOperationsProcessor) OperationsTree() (tree.FixedTree, error)

func (*ConcurrentOperationsProcessor) Process

func (*ConcurrentOperationsProcessor) Start

func (*ConcurrentOperationsProcessor) StatesTree

type DummyProcessor

type DummyProcessor struct {
	sync.RWMutex

	S  State
	P  base.SignedBallotFact
	B  block.Block
	IV base.Voteproof
	AV base.Voteproof
	PF func(context.Context) (block.Block, error)
	SF func(context.Context) error
	// contains filtered or unexported fields
}

func (*DummyProcessor) Block

func (pp *DummyProcessor) Block() block.Block

func (*DummyProcessor) Cancel

func (pp *DummyProcessor) Cancel() error

func (*DummyProcessor) Fact

func (pp *DummyProcessor) Fact() base.ProposalFact

func (*DummyProcessor) New

func (pp *DummyProcessor) New(sfs base.SignedBallotFact, initVoteproof base.Voteproof) (Processor, error)

func (*DummyProcessor) Prepare

func (pp *DummyProcessor) Prepare(ctx context.Context) (block.Block, error)

func (*DummyProcessor) Save

func (pp *DummyProcessor) Save(ctx context.Context) error

func (*DummyProcessor) SetACCEPTVoteproof

func (pp *DummyProcessor) SetACCEPTVoteproof(voteproof base.Voteproof) error

func (*DummyProcessor) SetState

func (pp *DummyProcessor) SetState(s State)

func (*DummyProcessor) SignedFact

func (pp *DummyProcessor) SignedFact() base.SignedBallotFact

func (*DummyProcessor) State

func (pp *DummyProcessor) State() State

func (*DummyProcessor) Statics

func (pp *DummyProcessor) Statics() map[string]interface{}

type OperationProcessor

type OperationProcessor interface {
	New(*storage.Statepool) OperationProcessor
	PreProcess(state.Processor) (state.Processor, error)
	Process(state.Processor) error
	Close() error
	Cancel() error
}

type Processor

type Processor interface {
	State() State
	Fact() base.ProposalFact
	SignedFact() base.SignedBallotFact
	SetACCEPTVoteproof(base.Voteproof) error
	Prepare(context.Context) (block.Block, error)
	Save(context.Context) error
	Cancel() error
	Block() block.Block
	Statics() map[string]interface{}
}

type ProcessorNewFunc

type ProcessorNewFunc func(base.SignedBallotFact, base.Voteproof) (Processor, error)

type Processors

type Processors struct {
	sync.RWMutex
	*logging.Logging
	*util.ContextDaemon
	// contains filtered or unexported fields
}

func NewProcessors

func NewProcessors(newFunc ProcessorNewFunc, proposalChecker func(base.ProposalFact) error) *Processors

func (*Processors) Current

func (pps *Processors) Current() Processor

func (*Processors) CurrentState

func (pps *Processors) CurrentState(fact valuehash.Hash) State

func (*Processors) Initialize

func (*Processors) Initialize() error

func (*Processors) NewProposal

func (pps *Processors) NewProposal(
	ctx context.Context,
	sfs base.SignedBallotFact,
	initVoteproof base.Voteproof,
) <-chan Result

func (*Processors) Save

func (pps *Processors) Save(
	ctx context.Context,
	fact valuehash.Hash,
	acceptVoteproof base.Voteproof,
) <-chan Result

func (*Processors) SetCurrent

func (pps *Processors) SetCurrent(pp Processor)

type Result

type Result struct {
	Block block.Block
	Err   error
}

func (Result) IsEmpty

func (r Result) IsEmpty() bool

type State

type State int
const (
	BeforePrepared State = iota
	Preparing
	PrepareFailed
	Prepared
	Saving
	SaveFailed
	Saved
	Canceled
)

func (State) String

func (o State) String() string

Jump to

Keyboard shortcuts

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