machine

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: May 5, 2020 License: Apache-2.0 Imports: 5 Imported by: 24

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BlockReason

type BlockReason interface {
	IsBlocked(m Machine, currentTime *common.TimeBlocks, newMessages bool) bool
	Equals(b BlockReason) bool
}

type BreakpointBlocked

type BreakpointBlocked struct {
}

func (BreakpointBlocked) Equals

func (b BreakpointBlocked) Equals(a BlockReason) bool

func (BreakpointBlocked) IsBlocked

func (b BreakpointBlocked) IsBlocked(m Machine, currentTime *common.TimeBlocks, newMessages bool) bool

func (BreakpointBlocked) String added in v0.4.0

func (b BreakpointBlocked) String() string

type CheckpointStorage added in v0.4.0

type CheckpointStorage interface {
	DeleteCheckpoint(machineHash common.Hash) bool
	CloseCheckpointStorage() bool
	GetInitialMachine() (Machine, error)
	GetMachine(machineHash common.Hash) (Machine, error)
	SaveValue(val value.Value) bool
	GetValue(hashValue common.Hash) value.Value
	DeleteValue(hashValue common.Hash) bool
	SaveData(key []byte, serializedValue []byte) bool
	GetData(key []byte) []byte
	DeleteData(key []byte) bool
}

type ErrorBlocked

type ErrorBlocked struct {
}

func (ErrorBlocked) Equals

func (b ErrorBlocked) Equals(a BlockReason) bool

func (ErrorBlocked) IsBlocked

func (b ErrorBlocked) IsBlocked(m Machine, currentTime *common.TimeBlocks, newMessages bool) bool

func (ErrorBlocked) String added in v0.4.0

func (b ErrorBlocked) String() string

type HaltBlocked

type HaltBlocked struct {
}

func (HaltBlocked) Equals

func (b HaltBlocked) Equals(a BlockReason) bool

func (HaltBlocked) IsBlocked

func (b HaltBlocked) IsBlocked(m Machine, currentTime *common.TimeBlocks, newMessages bool) bool

func (HaltBlocked) String added in v0.4.0

func (b HaltBlocked) String() string

type InboxBlocked

type InboxBlocked struct {
	Timeout value.IntValue
}

func (InboxBlocked) Equals

func (b InboxBlocked) Equals(a BlockReason) bool

func (InboxBlocked) IsBlocked

func (b InboxBlocked) IsBlocked(m Machine, currentTime *common.TimeBlocks, newMessages bool) bool

func (InboxBlocked) String added in v0.4.0

func (b InboxBlocked) String() string

type Machine

type Machine interface {
	Hash() common.Hash
	Clone() Machine
	PrintState()

	CurrentStatus() Status
	IsBlocked(currentTime *common.TimeBlocks, newMessages bool) BlockReason

	ExecuteAssertion(
		maxSteps uint64,
		timeBounds *protocol.TimeBounds,
		inbox value.TupleValue,
		maxWallTime time.Duration,
	) (*protocol.ExecutionAssertion, uint64)

	MarshalForProof() ([]byte, error)

	Checkpoint(storage CheckpointStorage) bool
}

type Status

type Status int
const (
	Extensive Status = iota
	ErrorStop
	Halt
)

Jump to

Keyboard shortcuts

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