invariant

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2023 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseInvariant

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

BaseInvariant ... Base invariant implementation

func (*BaseInvariant) InputType

func (bi *BaseInvariant) InputType() core.RegisterType

InputType ... Returns the input type for the invariant

func (*BaseInvariant) Invalidate

func (bi *BaseInvariant) Invalidate(core.TransitData) (*core.Invalidation, bool, error)

Invalidate ... Invalidates the invariant; defaults to no-op

func (*BaseInvariant) SUUID

func (bi *BaseInvariant) SUUID() core.SUUID

SUUID ... Returns the invariant session UUID

func (*BaseInvariant) SetSUUID

func (bi *BaseInvariant) SetSUUID(sUUID core.SUUID)

SetSUUID ... Sets the invariant session UUID

func (*BaseInvariant) ValidateInput

func (bi *BaseInvariant) ValidateInput(td core.TransitData) error

ValidateInput ... Validates the input type for the invariant

type BaseInvariantOpt

type BaseInvariantOpt = func(bi *BaseInvariant) *BaseInvariant

BaseInvariantOpt ... Functional option for BaseInvariant

type DeployConfig

type DeployConfig struct {
	Stateful bool
	StateKey *core.StateKey

	Network core.Network
	PUUID   core.PUUID
	Reuse   bool

	InvType   core.InvariantType
	InvParams *core.InvSessionParams

	AlertDest core.AlertDestination
}

DeployConfig ... Configuration for deploying an invariant session

type ExecutionType

type ExecutionType int

ExecutionType ... Enum for execution type

const (
	// HardCoded ... Hard coded execution type (ie native application code)
	HardCoded ExecutionType = iota
)

type Invariant

type Invariant interface {
	InputType() core.RegisterType
	ValidateInput(core.TransitData) error
	Invalidate(core.TransitData) (*core.Invalidation, bool, error)
	SUUID() core.SUUID
	SetSUUID(core.SUUID)
}

Invariant ... Interface that all invariant implementations must adhere to

func NewBaseInvariant

func NewBaseInvariant(inType core.RegisterType,
	opts ...BaseInvariantOpt) Invariant

NewBaseInvariant ... Initializer for BaseInvariant This is a base type that's inherited by all hardcoded invariant implementations

Jump to

Keyboard shortcuts

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