File tree Expand file tree Collapse file tree 3 files changed +32
-0
lines changed
kernel-browser-runtime/src Expand file tree Collapse file tree 3 files changed +32
-0
lines changed Original file line number Diff line number Diff line change @@ -36,7 +36,16 @@ export type PlatformServicesClientStream = PostMessageDuplexStream<
3636> ;
3737
3838/**
39+ * The client end of the platform services, intended to be constructed in
40+ * the kernel worker. Sends launch and terminate worker requests to the
41+ * server and wraps the launch response in a DuplexStream for consumption
42+ * by the kernel, and provides network connectivity.
3943 *
44+ * @see {@link PlatformServicesServer } for the other end of the service.
45+ *
46+ * @param stream - The stream to use for communication with the server.
47+ * @param logger - An optional {@link Logger}. Defaults to a new logger labeled '[platform services client]'.
48+ * @returns A new {@link PlatformServicesClient}.
4049 */
4150export class PlatformServicesClient implements PlatformServices {
4251 readonly #logger: Logger ;
Original file line number Diff line number Diff line change @@ -41,7 +41,20 @@ export type PlatformServicesStream = PostMessageDuplexStream<
4141> ;
4242
4343/**
44+ * The server end of the platform services, intended to be constructed in
45+ * the offscreen document. Listens for launch and terminate worker requests
46+ * from the client and uses the {@link VatWorker} methods to effect those
47+ * requests, and provides network connectivity.
4448 *
49+ * Note that {@link PlatformServicesServer.start} must be called to start
50+ * the server.
51+ *
52+ * @see {@link PlatformServicesClient } for the other end of the service.
53+ *
54+ * @param stream - The stream to use for communication with the client.
55+ * @param makeWorker - A method for making a {@link VatWorker}.
56+ * @param logger - An optional {@link Logger}. Defaults to a new logger labeled '[platform services server]'.
57+ * @returns A new {@link PlatformServicesServer}.
4558 */
4659export class PlatformServicesServer {
4760 readonly #logger;
Original file line number Diff line number Diff line change @@ -36,7 +36,17 @@ import type { VatHandle } from './vats/VatHandle.ts';
3636import { VatManager } from './vats/VatManager.ts' ;
3737
3838/**
39+ * The kernel is the main class for the kernel. It is responsible for
40+ * managing the lifecycle of the kernel and the vats.
3941 *
42+ * @param commandStream - Command channel from whatever external software is driving the kernel.
43+ * @param platformServices - Service to do things the kernel worker can't.
44+ * @param kernelDatabase - Database holding the kernel's persistent state.
45+ * @param options - Options for the kernel constructor.
46+ * @param options.resetStorage - If true, the storage will be cleared.
47+ * @param options.logger - Optional logger for error and diagnostic output.
48+ * @param options.keySeed - Optional seed for libp2p key generation.
49+ * @returns A new {@link Kernel}.
4050 */
4151export class Kernel {
4252 /** Command channel from the controlling console/browser extension/test driver */
You can’t perform that action at this time.
0 commit comments