core

package
v0.19.1 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MakeSymbol

func MakeSymbol(typ, member string) string

func SplitSymbol

func SplitSymbol(symbol string) (string, string)

Types

type EventNotifier added in v0.19.0

type EventNotifier struct {
	// contains filtered or unexported fields
}

func (*EventNotifier) EmitCall added in v0.19.0

func (n *EventNotifier) EmitCall(symbol string, name string, params map[string]any)

func (*EventNotifier) EmitError added in v0.19.0

func (n *EventNotifier) EmitError(err error)

func (*EventNotifier) EmitEvent added in v0.19.0

func (n *EventNotifier) EmitEvent(e *SimuEvent)

func (*EventNotifier) EmitPropertyChanged added in v0.19.0

func (n *EventNotifier) EmitPropertyChanged(symbol string, name string, value any)

func (*EventNotifier) EmitPropertySet added in v0.19.0

func (n *EventNotifier) EmitPropertySet(symbol string, kwargs map[string]any)

func (*EventNotifier) EmitReply added in v0.19.0

func (n *EventNotifier) EmitReply(symbol string, name string, value any, err error)

func (*EventNotifier) EmitSignal added in v0.19.0

func (n *EventNotifier) EmitSignal(symbol string, name string, args map[string]any)

func (*EventNotifier) EmitSimuStart added in v0.19.0

func (n *EventNotifier) EmitSimuStart()

func (*EventNotifier) EmitSimuStop added in v0.19.0

func (n *EventNotifier) EmitSimuStop()

func (*EventNotifier) OnEvent added in v0.19.0

func (n *EventNotifier) OnEvent(f OnEventFunc)

type IEngine

type IEngine interface {
	INotifier
	HasInterface(symbol string) bool
	InvokeOperation(symbol string, name string, params map[string]any) (any, error)
	SetProperties(symbol string, params map[string]any) error
	GetProperties(symbol string) (map[string]any, error)
	HasSequence(name string) bool
	PlaySequence(name string) error
	StopSequence(name string)
	PlayAllSequences() error
	StopAllSequences()
}

IEngine is the interface for the simulation engine.

type INotifier added in v0.19.0

type INotifier interface {
	OnEvent(f OnEventFunc)
	EmitEvent(e *SimuEvent)
}

type MultiEngine

type MultiEngine struct {
	EventNotifier
	// contains filtered or unexported fields
}

func NewMultiEngine

func NewMultiEngine(entries ...IEngine) *MultiEngine

func (*MultiEngine) GetProperties

func (e *MultiEngine) GetProperties(ifaceId string) (map[string]any, error)

FetchProperties fetches the properties of the interface.

func (*MultiEngine) HasInterface

func (e *MultiEngine) HasInterface(ifaceId string) bool

HasInterface returns true if the interface is served by the simulation.

func (*MultiEngine) HasSequence

func (e *MultiEngine) HasSequence(sequencerId string) bool

func (*MultiEngine) InvokeOperation

func (e *MultiEngine) InvokeOperation(ifaceId string, name string, args map[string]any) (any, error)

InvokeOperation invokes the operation of the interface.

func (*MultiEngine) PlayAllSequences added in v0.8.0

func (e *MultiEngine) PlayAllSequences() error

func (*MultiEngine) PlaySequence

func (e *MultiEngine) PlaySequence(sequenceId string) error

func (*MultiEngine) SetProperties

func (e *MultiEngine) SetProperties(ifaceId string, props map[string]any) error

SetProperties sets the properties of the interface.

func (*MultiEngine) StopAllSequences added in v0.8.0

func (e *MultiEngine) StopAllSequences()

func (*MultiEngine) StopSequence added in v0.8.0

func (e *MultiEngine) StopSequence(sequenceId string)

type OnEventFunc added in v0.19.0

type OnEventFunc func(event *SimuEvent)

type SimuEvent added in v0.19.0

type SimuEvent struct {
	Timestamp time.Time      `json:"timestamp"`
	Type      SimuEventType  `json:"type"`
	Symbol    string         `json:"service"`
	Name      string         `json:"name"`
	Args      []any          `json:"args"`
	KWArgs    map[string]any `json:"kwargs"`
	Error     string         `json:"error"`
}

type SimuEventType added in v0.19.0

type SimuEventType string
const (
	EventSimuStart       SimuEventType = "start"
	EventSimuStop        SimuEventType = "stop"
	EventCall            SimuEventType = "call"
	EventReply           SimuEventType = "response"
	EventSignal          SimuEventType = "signal"
	EventPropertySet     SimuEventType = "set"
	EventPropertyChanged SimuEventType = "changed"
	EventError           SimuEventType = "error"
)

Jump to

Keyboard shortcuts

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