cod-dicomweb-server
Version:
A wadors server proxy that get data from a Cloud Optimized Dicom format.
26 lines (25 loc) • 1.31 kB
JavaScript
import { Enums } from '../constants';
import { getDataRetrievalManager } from './dataRetrievalManager';
import filePartial from './scripts/filePartial';
import fileStreaming from './scripts/fileStreaming';
export function register(workerNames, maxFetchSize) {
const { fileStreamingScriptName, filePartialScriptName } = workerNames;
const dataRetrievalManager = getDataRetrievalManager();
if (dataRetrievalManager.getDataRetrieverMode() === Enums.DataRetrieveMode.REQUEST) {
dataRetrievalManager.register(fileStreamingScriptName, fileStreaming);
dataRetrievalManager.register(filePartialScriptName, filePartial);
}
else {
// fileStreaming worker
const streamingWorkerFn = () => new Worker(new URL('./workers/fileStreamingWorker', import.meta.url), {
name: fileStreamingScriptName
});
dataRetrievalManager.register(fileStreamingScriptName, streamingWorkerFn);
// filePartial worker
const partialWorkerFn = () => new Worker(new URL('./workers/filePartialWorker', import.meta.url), {
name: filePartialScriptName
});
dataRetrievalManager.register(filePartialScriptName, partialWorkerFn);
}
dataRetrievalManager.executeTask(fileStreamingScriptName, 'setMaxFetchSize', maxFetchSize);
}