41 lines
716 B
TypeScript
41 lines
716 B
TypeScript
|
import type { Manifest } from "../common/manifest.ts";
|
||
|
|
||
|
// Messages received from the worker
|
||
|
export type ControllerMessage =
|
||
|
| {
|
||
|
// Parsed manifest when worker is initialized
|
||
|
type: "manifest";
|
||
|
manifest: Manifest;
|
||
|
}
|
||
|
| {
|
||
|
// Function invocation result
|
||
|
type: "invr";
|
||
|
id: number;
|
||
|
error?: string;
|
||
|
result?: any;
|
||
|
}
|
||
|
| {
|
||
|
// Syscall
|
||
|
type: "sys";
|
||
|
id: number;
|
||
|
name: string;
|
||
|
args: any[];
|
||
|
};
|
||
|
|
||
|
// Messages received inside the worker
|
||
|
export type WorkerMessage =
|
||
|
| {
|
||
|
// Function invocation
|
||
|
type: "inv";
|
||
|
id: number;
|
||
|
name: string;
|
||
|
args: any[];
|
||
|
}
|
||
|
| {
|
||
|
// Syscall result
|
||
|
type: "sysr";
|
||
|
id: number;
|
||
|
result?: any;
|
||
|
error?: any;
|
||
|
};
|