strategies

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: May 12, 2022 License: MIT Imports: 10 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Action added in v0.1.3

type Action struct {
	Name string
	Do   func(*Context, *dispatcher.Dispatcher) error
}

func DeliverMessage added in v0.1.3

func DeliverMessage(m *types.Message) Action

func DoNothing added in v0.1.3

func DoNothing() Action

type Context added in v0.1.1

type Context struct {
	Replicas *types.ReplicaStore
	Messages *types.Map[types.MessageID, *types.Message]
	EventDAG *types.EventDAG
	// contains filtered or unexported fields
}

func (*Context) CurIteration added in v0.1.3

func (c *Context) CurIteration() int

func (*Context) NextIteration added in v0.1.3

func (c *Context) NextIteration()

type Driver

type Driver struct {
	*types.BaseService
	// contains filtered or unexported fields
}

func NewStrategyDriver added in v0.1.3

func NewStrategyDriver(config *config.Config, mp types.MessageParser, strategy Strategy) *Driver

func (*Driver) Name

func (srv *Driver) Name() string

Name implements DashboardRouter

func (*Driver) SetupRouter

func (srv *Driver) SetupRouter(router *gin.RouterGroup)

SetupRouter for setting up the dashboard routes implements DashboardRouter

func (*Driver) Start

func (d *Driver) Start() error

func (*Driver) Stop

func (d *Driver) Stop() error

type DummyStrategy added in v0.1.1

type DummyStrategy struct {
	*types.BaseService
}

func NewDummyStrategy added in v0.1.1

func NewDummyStrategy() *DummyStrategy

func (*DummyStrategy) NextIteration added in v0.1.3

func (d *DummyStrategy) NextIteration()

func (*DummyStrategy) Start added in v0.1.1

func (d *DummyStrategy) Start() error

func (*DummyStrategy) Step added in v0.1.1

func (d *DummyStrategy) Step(event *types.Event, c *Context) Action

func (*DummyStrategy) Stop added in v0.1.1

func (d *DummyStrategy) Stop() error

type Filter added in v0.1.1

type Filter interface {
	Step(*types.Event, *Context) []*types.Event
}

type FilteredStrategy added in v0.1.3

type FilteredStrategy struct {
	*types.BaseService
	// contains filtered or unexported fields
}

func NewFilteredStrategy added in v0.1.3

func NewFilteredStrategy(filter Filter, strategy Strategy, logger *log.Logger) *FilteredStrategy

func (*FilteredStrategy) NextIteration added in v0.1.3

func (f *FilteredStrategy) NextIteration()

func (*FilteredStrategy) Start added in v0.1.3

func (f *FilteredStrategy) Start() error

func (*FilteredStrategy) Step added in v0.1.3

func (f *FilteredStrategy) Step(e *types.Event, c *Context) Action

func (*FilteredStrategy) Stop added in v0.1.3

func (f *FilteredStrategy) Stop() error

type Strategy

type Strategy interface {
	types.Service
	Step(*types.Event, *Context) Action
	NextIteration()
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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