repositories
/
e-mobility-charging-stations-simulator.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add tunable for charging station start delay for linear ramp up
[e-mobility-charging-stations-simulator.git]
/
src
/
worker
/
WorkerAbstract.ts
diff --git
a/src/worker/WorkerAbstract.ts
b/src/worker/WorkerAbstract.ts
index fa28597c55784d585fcec7231f0aea69e298bee1..351a61d5284b54b037e6c181882526d5ddc7fe0b 100644
(file)
--- a/
src/worker/WorkerAbstract.ts
+++ b/
src/worker/WorkerAbstract.ts
@@
-1,9
+1,11
@@
+import { WorkerData, WorkerStartOptions } from '../types/Worker';
+
import Constants from '../utils/Constants';
import Constants from '../utils/Constants';
-import { WorkerData } from '../types/Worker';
-export default abstract class WorkerAbstract {
+export default abstract class WorkerAbstract
<T extends WorkerData>
{
protected readonly workerScript: string;
protected readonly workerStartDelay: number;
protected readonly workerScript: string;
protected readonly workerStartDelay: number;
+ protected readonly elementStartDelay: number;
public abstract readonly size: number;
public abstract readonly maxElementsPerWorker: number | null;
public abstract readonly size: number;
public abstract readonly maxElementsPerWorker: number | null;
@@
-11,14
+13,18
@@
export default abstract class WorkerAbstract {
* `WorkerAbstract` constructor.
*
* @param workerScript
* `WorkerAbstract` constructor.
*
* @param workerScript
- * @param workerStart
Delay
+ * @param workerStart
Options
*/
*/
- constructor(workerScript: string, workerStartDelay: number = Constants.WORKER_START_DELAY) {
+ constructor(workerScript: string, workerStartOptions: WorkerStartOptions = {
+ workerStartDelay: Constants.WORKER_START_DELAY,
+ elementStartDelay: Constants.ELEMENT_START_DELAY
+ }) {
this.workerScript = workerScript;
this.workerScript = workerScript;
- this.workerStartDelay = workerStartDelay;
+ this.workerStartDelay = workerStartOptions.workerStartDelay;
+ this.elementStartDelay = workerStartOptions.elementStartDelay;
}
public abstract start(): Promise<void>;
public abstract stop(): Promise<void>;
}
public abstract start(): Promise<void>;
public abstract stop(): Promise<void>;
- public abstract addElement(elementData:
WorkerData
): Promise<void>;
+ public abstract addElement(elementData:
T
): Promise<void>;
}
}