olin: within.website/olin/internal/abi Index | Files | Directories

package abi

import "within.website/olin/internal/abi"

Package abi is the common interface for all ABI implementations

Index

Package Files

abi.go

type ABI Uses

type ABI interface {
    exec.ImportResolver
    Namer

    Files() []File
    Open(File)
}

ABI is the interface that is provided to a webaseembly module. Instances of this interface will live for the lifetime of webassembly modules.

This is low level intentionally.

type File Uses

type File interface {
    io.Closer
    io.Reader
    io.Writer
    Namer

    // Flush isn't required for all backends, but it is used for some, such as HTTP.
    Flush() error
}

File is the most common denominator for most of what you usefully need out of files to make useful programs.

type FileOpener Uses

type FileOpener interface {
    Open(furl *url.URL, flags int) (File, error)
}

FileOpener opens a given file by URL.

type Namer Uses

type Namer interface {
    Name() string
}

Namer is something that has a name.

Directories

PathSynopsis
cwaPackage cwa contains the ABI for CommonWA[1] applications.
daggerPackage dagger is the first attempt at an API for webassembly modules to communicate with the outside world.
wasmgoPackage wasmgo contains hacks and bindings in order to "mixin" the Go webassembly ABI to another webassembly module.

Package abi imports 3 packages (graph) and is imported by 6 packages. Updated 2019-06-09. Refresh now. Tools for package owners.