@awesome-ecs/workers
Version:
The Workers package for Awesome ECS. Provides basic implementation for the Worker communication using ECS.
42 lines (41 loc) • 2.19 kB
text/typescript
import { n as WorkerRequestMessage } from "../worker-message-DXmmy8WR.cjs";
import { n as WorkerResponseCallback, r as WorkerExecutionMode, t as IWorkerExecutionStrategy } from "../worker-execution-strategy-D1Znkfbl.cjs";
import { t as WorkerThreadEntity } from "../worker-thread-4tJW_zpp.cjs";
import { n as IWorkerHandlerRegistry, t as IWorkerMessageQueue } from "../worker-queue-fLud9AS4.cjs";
import { t as WorkerPerformanceTracker } from "../worker-performance-tracker-Bl_fF5GF.cjs";
import { IContextRepository, IEntityRepository } from "@awesome-ecs/abstract/entities";
import { ILogger } from "@awesome-ecs/abstract/utils";
//#region src/runtime/strategies/local-execution-strategy.d.ts
declare class LocalExecutionStrategy implements IWorkerExecutionStrategy {
private readonly handlerRegistry;
private readonly logger;
readonly mode = WorkerExecutionMode.local;
constructor(handlerRegistry: IWorkerHandlerRegistry, logger: ILogger);
dispatch(message: WorkerRequestMessage<any>, entity: WorkerThreadEntity, onResponse: WorkerResponseCallback): void;
}
//#endregion
//#region src/runtime/strategies/web-worker-strategy.d.ts
declare class WebWorkerExecutionStrategy implements IWorkerExecutionStrategy {
private readonly logger;
readonly mode = WorkerExecutionMode.worker;
constructor(logger: ILogger);
dispatch(message: WorkerRequestMessage<any>, entity: WorkerThreadEntity): void;
}
//#endregion
//#region src/runtime/worker-runtime.d.ts
declare class WorkerSystemRuntime {
private readonly workerMessageQueue;
private readonly entityRepository;
private readonly logger;
private readonly strategy;
private readonly contextRepository?;
private readonly performanceTracker?;
private readonly onResponse;
constructor(workerMessageQueue: IWorkerMessageQueue, entityRepository: IEntityRepository, logger: ILogger, strategy: IWorkerExecutionStrategy, contextRepository?: IContextRepository, performanceTracker?: WorkerPerformanceTracker);
runTick(): void;
private flushQueueWaitTimes;
private findAvailableWorker;
}
//#endregion
export { LocalExecutionStrategy, WebWorkerExecutionStrategy, WorkerSystemRuntime };
//# sourceMappingURL=index.d.cts.map