Documentation
¶
Overview ¶
Package wasivm_plugin serves WasiVM virtual machines to the Spaces that load the spacewave-wasivm plugin. It registers the vm/wasivm ObjectType, its operations, viewer and creation wizard, and runs each VM's kernel in the plugin process.
Index ¶
- Constants
- Variables
- func NewFactory(b bus.Bus) controller.Factory
- type Config
- func (m *Config) CloneMessageVT() protobuf_go_lite.CloneMessage
- func (m *Config) CloneVT() *Config
- func (this *Config) EqualMessageVT(thatMsg any) bool
- func (this *Config) EqualVT(that *Config) bool
- func (c *Config) EqualsConfig(other config.Config) bool
- func (c *Config) GetConfigID() string
- func (x *Config) MarshalJSON() ([]byte, error)
- func (x *Config) MarshalProtoJSON(s *json.MarshalState)
- func (x *Config) MarshalProtoText() string
- func (m *Config) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *Config) MarshalToVT(dAtA []byte) (int, error)
- func (m *Config) MarshalVT() (dAtA []byte, err error)
- func (*Config) ProtoMessage()
- func (x *Config) Reset()
- func (m *Config) SizeVT() (n int)
- func (x *Config) String() string
- func (x *Config) UnmarshalJSON(b []byte) error
- func (x *Config) UnmarshalProtoJSON(s *json.UnmarshalState)
- func (m *Config) UnmarshalVT(dAtA []byte) error
- func (c *Config) Validate() error
- type Controller
Constants ¶
const ConfigID = ControllerID
ConfigID is the config identifier.
const ControllerID = "plugin/wasivm"
ControllerID is the controller identifier.
const PluginID = "spacewave-wasivm"
PluginID is the manifest ID of the WasiVM plugin.
Variables ¶
var Version = controller.MustParseVersion("0.0.1")
Version is the component version.
var ViewerEntrypoint bldr_web_bundler.WebBundlerOutput
ViewerEntrypoint is the bundled viewer of a WasiVM.
var WizardEntrypoint bldr_web_bundler.WebBundlerOutput
WizardEntrypoint is the bundled wizard that creates a WasiVM.
Functions ¶
func NewFactory ¶
func NewFactory(b bus.Bus) controller.Factory
NewFactory constructs the component factory.
Types ¶
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
Config configures the WasiVM plugin controller.
func (*Config) CloneMessageVT ¶
func (m *Config) CloneMessageVT() protobuf_go_lite.CloneMessage
func (*Config) EqualMessageVT ¶
func (*Config) EqualsConfig ¶
EqualsConfig checks if the config is equal to another.
func (*Config) GetConfigID ¶
GetConfigID returns the unique string for this configuration type.
func (*Config) MarshalJSON ¶
MarshalJSON marshals the Config to JSON.
func (*Config) MarshalProtoJSON ¶
func (x *Config) MarshalProtoJSON(s *json.MarshalState)
MarshalProtoJSON marshals the Config message to JSON.
func (*Config) MarshalProtoText ¶
func (*Config) MarshalToSizedBufferVT ¶
func (*Config) ProtoMessage ¶
func (*Config) ProtoMessage()
func (*Config) UnmarshalJSON ¶
UnmarshalJSON unmarshals the Config from JSON.
func (*Config) UnmarshalProtoJSON ¶
func (x *Config) UnmarshalProtoJSON(s *json.UnmarshalState)
UnmarshalProtoJSON unmarshals the Config message from JSON.
func (*Config) UnmarshalVT ¶
type Controller ¶
type Controller struct {
*bus.BusController[*Config]
// Holder publishes the registrations and reports when they are ready.
*s4wave_plugin_registration.Holder
// contains filtered or unexported fields
}
Controller registers WasiVM with the core plugin and serves its resources.
func (*Controller) Execute ¶
func (c *Controller) Execute(ctx context.Context) error
Execute registers WasiVM with the core plugin until ctx ends.
func (*Controller) HandleDirective ¶
func (c *Controller) HandleDirective(ctx context.Context, di directive.Instance) ([]directive.Resolver, error)
HandleDirective serves the plugin's resource service and the WasiVM block types.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package binpkg reads Gentoo binary packages: the Packages index of a binary package directory, the runtime closure of a set of packages, and the files of each GPKG archive split into runtime and dev layers.
|
Package binpkg reads Gentoo binary packages: the Packages index of a binary package directory, the runtime closure of a set of packages, and the files of each GPKG archive split into runtime and dev layers. |
|
cmd
|
|
|
wasivm
command
Command wasivm runs a WebAssembly program under the WasiVM kernel, for debugging the kernel outside Spacewave.
|
Command wasivm runs a WebAssembly program under the WasiVM kernel, for debugging the kernel outside Spacewave. |
|
Package display is a host X client of the X server running in a WasiVM.
|
Package display is a host X client of the X server running in a WasiVM. |
|
Package kernel runs Linux programs compiled to WebAssembly.
|
Package kernel runs Linux programs compiled to WebAssembly. |
|
engine
Package engine defines the WebAssembly engine the kernel runs guests on.
|
Package engine defines the WebAssembly engine the kernel runs guests on. |
|
engine/browser
Package browser runs kernel guests on the browser's WebAssembly API.
|
Package browser runs kernel guests on the browser's WebAssembly API. |
|
engine/native
Package native runs kernel guests on wazero.
|
Package native runs kernel guests on wazero. |
|
Package layer builds UnixFS layers from file entries and lays layers onto a root by reference.
|
Package layer builds UnixFS layers from file entries and lays layers onto a root by reference. |
|
Package wayland is a Wayland compositor for the clients in a WasiVM.
|
Package wayland is a Wayland compositor for the clients in a WasiVM. |