44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
|
import * as plugins from './coretraffic.plugins.js';
|
||
|
import { logger } from './coretraffic.logging.js';
|
||
|
import { CoreTraffic } from './coretraffic.classes.coretraffic.js';
|
||
|
|
||
|
/**
|
||
|
* Coreflow Connector
|
||
|
*/
|
||
|
export class CoreflowConnector {
|
||
|
public typedrouter = new plugins.typedrequest.TypedRouter();
|
||
|
public coretrafficRef: CoreTraffic;
|
||
|
public typesocketClient: plugins.typedsocket.TypedSocket;
|
||
|
|
||
|
constructor(coretrafficRefArg: CoreTraffic) {
|
||
|
this.coretrafficRef = coretrafficRefArg;
|
||
|
this.coretrafficRef.typedrouter.addTypedRouter(this.typedrouter)
|
||
|
|
||
|
this.typedrouter.addTypedHandler<
|
||
|
plugins.lointCloudly.request.routing.IRequest_Coreflow_Coretraffic_RoutingUpdate
|
||
|
>(new plugins.typedrequest.TypedHandler('updateRouting', async (requestData) => {
|
||
|
console.log(requestData);
|
||
|
await this.coretrafficRef.taskmanager.setupRoutingTask.trigger(requestData.reverseConfigs);
|
||
|
return {
|
||
|
status: 'ok',
|
||
|
errorText: ''
|
||
|
};
|
||
|
}));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* starts the corechatConnector
|
||
|
*/
|
||
|
public async start() {
|
||
|
this.typesocketClient = await plugins.typedsocket.TypedSocket.createClient(
|
||
|
this.typedrouter,
|
||
|
'http://coreflow:3000',
|
||
|
'coretraffic'
|
||
|
);
|
||
|
}
|
||
|
|
||
|
public async stop() {
|
||
|
await this.typesocketClient.stop();
|
||
|
}
|
||
|
}
|