|
1 | 1 | import { ObjLogger } from "@scramjet/obj-logger"; |
2 | | -import { HostProxy, IObjectLogger, InstanceConfig, MessageDataType, STHConfiguration, STHRestAPI, SequenceInfo } from "@scramjet/types"; |
| 2 | +import { HostProxy, ICommunicationHandler, IObjectLogger, InstanceConfig, MessageDataType, STHConfiguration, STHRestAPI, SequenceInfo } from "@scramjet/types"; |
3 | 3 | import { SocketServer } from "./socket-server"; |
4 | 4 | import { InstanceStore } from "./instance-store"; |
5 | 5 | import { CSIController } from "./csi-controller"; |
6 | | -import { CommunicationHandler, IDProvider } from "@scramjet/model"; |
| 6 | +import { IDProvider } from "@scramjet/model"; |
7 | 7 | import { StartSequencePayload } from "@scramjet/types/src/rest-api-sth"; |
8 | 8 | import { getInstanceAdapter } from "@scramjet/adapters"; |
9 | 9 | import { TypedEmitter } from "@scramjet/utility"; |
@@ -36,9 +36,15 @@ export class CSIDispatcher extends TypedEmitter<Events> { |
36 | 36 | this.STHConfig = STHConfig; |
37 | 37 | } |
38 | 38 |
|
39 | | - createCSIController(id: string, sequence: SequenceInfo, payload: StartSequencePayload, communicationHandler: CommunicationHandler, config: STHConfiguration, instanceProxy: HostProxy) { |
| 39 | + async createCSIController( |
| 40 | + id: string, |
| 41 | + sequence: SequenceInfo, |
| 42 | + payload: StartSequencePayload, |
| 43 | + communicationHandler: ICommunicationHandler, |
| 44 | + config: STHConfiguration, |
| 45 | + instanceProxy: HostProxy) { |
40 | 46 | sequence.instances = sequence.instances || new Set(); |
41 | | - const csiController = new CSIController(id, sequence, payload, communicationHandler, config, instanceProxy); |
| 47 | + const csiController = new CSIController({ id, sequence, payload }, communicationHandler, config, instanceProxy, this.STHConfig.runtimeAdapter); |
42 | 48 |
|
43 | 49 | csiController.logger.pipe(this.logger); |
44 | 50 | this.logger.trace("CSIController created", id); |
@@ -132,7 +138,7 @@ export class CSIDispatcher extends TypedEmitter<Events> { |
132 | 138 | this.emit("terminated", { id, code }); |
133 | 139 | }); |
134 | 140 |
|
135 | | - csiController.start(); |
| 141 | + await csiController.start(); |
136 | 142 |
|
137 | 143 | this.logger.trace("csiController started", id); |
138 | 144 |
|
@@ -161,7 +167,7 @@ export class CSIDispatcher extends TypedEmitter<Events> { |
161 | 167 | this.STHConfig.host.instancesServerPort, |
162 | 168 | id, |
163 | 169 | sequence, |
164 | | - //payload |
| 170 | + payload |
165 | 171 | ); |
166 | 172 | // @todo more instance info |
167 | 173 | return { |
|
0 commit comments