Documentation ¶
Index ¶
- type Config
- type Engine
- func (e *Engine) Done() <-chan struct{}
- func (e *Engine) Process(originID flow.Identifier, event interface{}) error
- func (e *Engine) ProcessLocal(event interface{}) error
- func (e *Engine) Ready() <-chan struct{}
- func (e *Engine) Submit(originID flow.Identifier, event interface{})
- func (e *Engine) SubmitLocal(event interface{})
- type OptionFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
func DefaultConfig ¶
func DefaultConfig() *Config
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine is the synchronization engine, responsible for synchronizing chain state.
func New ¶
func New( log zerolog.Logger, metrics module.EngineMetrics, net module.Network, me module.Local, state protocol.State, blocks storage.Blocks, comp network.Engine, core module.SyncCore, opts ...OptionFunc, ) (*Engine, error)
New creates a new main chain synchronization engine.
func (*Engine) Done ¶
func (e *Engine) Done() <-chan struct{}
Done returns a done channel that is closed once the engine has fully stopped. For the consensus engine, we wait for hotstuff to finish.
func (*Engine) Process ¶
func (e *Engine) Process(originID flow.Identifier, event interface{}) error
Process processes the given event from the node with the given origin ID in a blocking manner. It returns the potential processing error when done.
func (*Engine) ProcessLocal ¶
ProcessLocal processes an event originating on the local node.
func (*Engine) Ready ¶
func (e *Engine) Ready() <-chan struct{}
Ready returns a ready channel that is closed once the engine has fully started. For consensus engine, this is true once the underlying consensus algorithm has started.
func (*Engine) Submit ¶
func (e *Engine) Submit(originID flow.Identifier, event interface{})
Submit submits the given event from the node with the given origin ID for processing in a non-blocking manner. It returns instantly and logs a potential processing error internally when done.
func (*Engine) SubmitLocal ¶
func (e *Engine) SubmitLocal(event interface{})
SubmitLocal submits an event originating on the local node.
type OptionFunc ¶
type OptionFunc func(*Config)
func WithPollInterval ¶
func WithPollInterval(interval time.Duration) OptionFunc
WithPollInterval sets a custom interval at which we scan for poll items
func WithScanInterval ¶
func WithScanInterval(interval time.Duration) OptionFunc
WithScanInterval sets a custom interval at which we scan for pending items and batch them for requesting.