state

package
v0.0.0-...-afdd74a Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2024 License: Apache-2.0, MIT Imports: 18 Imported by: 6

Documentation

Overview

Package state provides high-level state wrappers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CPUTime

func CPUTime() (time.Duration, error)

CPUTime returns the CPU time usage by Sentry and app.

Types

type ErrStateFile

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

ErrStateFile is returned when an error is encountered writing the statefile (which may occur during open or close calls in addition to write).

func (ErrStateFile) Error

func (e ErrStateFile) Error() string

Error implements error.Error().

type LoadOpts

type LoadOpts struct {
	// Source is the load source.
	Source io.Reader

	// PagesMetadata is the file into which MemoryFile metadata is stored if
	// PagesMetadata is non-nil. Otherwise this content is stored in Source.
	PagesMetadata *fd.FD

	// PagesFile is the file in which all MemoryFile pages are stored if
	// PagesFile is non-nil. Otherwise this content is stored in Source.
	PagesFile *fd.FD

	// If Background is true, the sentry may read from PagesFile after Load has
	// returned.
	Background bool

	// Key is used for state integrity check.
	Key []byte
}

LoadOpts contains load-related options.

func (LoadOpts) Load

func (opts LoadOpts) Load(ctx context.Context, k *kernel.Kernel, timeReady chan struct{}, n inet.Stack, clocks time.Clocks, vfsOpts *vfs.CompleteRestoreOptions, saveRestoreNet bool) error

Load loads the given kernel, setting the provided platform and stack.

Load takes ownership of (and unsets) opts.PagesFile.

type SaveOpts

type SaveOpts struct {
	// Destination is the save target.
	Destination io.Writer

	// PagesMetadata is the file into which MemoryFile metadata is stored if
	// PagesMetadata is non-nil. Otherwise this content is stored in Destination.
	PagesMetadata *fd.FD

	// PagesFile is the file in which all MemoryFile pages are stored if
	// PagesFile is non-nil. Otherwise this content is stored in Destination.
	PagesFile *fd.FD

	// Key is used for state integrity check.
	Key []byte

	// Metadata is save metadata.
	Metadata map[string]string

	// MemoryFileSaveOpts is passed to calls to pgalloc.MemoryFile.SaveTo().
	MemoryFileSaveOpts pgalloc.SaveOpts

	// Callback is called prior to unpause, with any save error.
	Callback func(err error)

	// Resume indicates if the statefile is used for save-resume.
	Resume bool
}

SaveOpts contains save-related options.

func (SaveOpts) Save

func (opts SaveOpts) Save(ctx context.Context, k *kernel.Kernel, w *watchdog.Watchdog) error

Save saves the system state.

Jump to

Keyboard shortcuts

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