engine

package
v1.7.1 Latest Latest
Warning

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

Go to latest
Published: Dec 3, 2020 License: Apache-2.0, Apache-2.0 Imports: 7 Imported by: 35

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GruleEngine

type GruleEngine struct {
	MaxCycle uint64
}

GruleEngine is the engine structure. It has the Execute method to start the engine to work.

func NewGruleEngine

func NewGruleEngine() *GruleEngine

NewGruleEngine will create new instance of GruleEngine struct. It will set the max cycle to 5000

func (*GruleEngine) Execute

func (g *GruleEngine) Execute(dataCtx ast.IDataContext, knowledge *ast.KnowledgeBase) error

Execute function is the same as ExecuteWithContext(context.Background())

func (*GruleEngine) ExecuteWithContext added in v1.5.0

func (g *GruleEngine) ExecuteWithContext(ctx context.Context, dataCtx ast.IDataContext, knowledge *ast.KnowledgeBase) error

ExecuteWithContext function will execute a knowledge evaluation and action against data context. The engine will evaluate context cancelation status in each cycle. The engine also do conflict resolution of which rule to execute.

func (*GruleEngine) FetchMatchingRules added in v1.5.1

func (g *GruleEngine) FetchMatchingRules(dataCtx ast.IDataContext, knowledge *ast.KnowledgeBase) ([]*ast.RuleEntry, error)

FetchMatchingRules function is responsible to fetch all the rules that matches to a fact against all rule entries Returns []*ast.RuleEntry order by salience

Jump to

Keyboard shortcuts

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