This commit is contained in:
Daniel Kluge
2023-12-21 13:45:15 +01:00
parent a4e302e08e
commit 73649c5d65
+8 -8
View File
@@ -14,7 +14,7 @@ type AASRegistration = {
type AASRegistrationPrepared = AASRegistration & { type AASRegistrationPrepared = AASRegistration & {
serverInstances: AbstractInterfaceServer<any>[]; serverInstances: AbstractInterfaceServer<any>[];
connectorInterfaces: AbstractConnectionObject<any>[]; connectorInstances: AbstractConnectionObject<any>[];
mappingConfiguration: AIMCMapper; mappingConfiguration: AIMCMapper;
} }
@@ -83,7 +83,7 @@ export default class MultiMessageBroker {
this.aasRegistrations.push({ this.aasRegistrations.push({
...registration, ...registration,
serverInstances: [], serverInstances: [],
connectorInterfaces: [], connectorInstances: [],
mappingConfiguration: new AIMCMapper(registration.aas) mappingConfiguration: new AIMCMapper(registration.aas)
}); });
} }
@@ -139,7 +139,7 @@ export default class MultiMessageBroker {
if (connectorProto === undefined) continue; if (connectorProto === undefined) continue;
// @ts-ignore // @ts-ignore
for (const ep of endpoints) registration.connectorInterfaces.push(new connectorProto.interfaceConnection(connectorProto.config, ep, registration.mappingConfiguration, (response: any) => this.onConnectorEvent(response))); for (const ep of endpoints) registration.connectorInstances.push(new connectorProto.interfaceConnection(connectorProto.config, ep, registration.mappingConfiguration, (response: any) => this.onConnectorEvent(response)));
} }
} }
@@ -153,7 +153,7 @@ export default class MultiMessageBroker {
if (!this.prepared) this.prepare(); if (!this.prepared) this.prepare();
for (const registration of this.aasRegistrations) { for (const registration of this.aasRegistrations) {
registration.connectorInterfaces.forEach(connector => connector.connect()); registration.connectorInstances.forEach(connector => connector.connect());
registration.serverInstances?.forEach(server => server?.run()); registration.serverInstances?.forEach(server => server?.run());
} }
} }
@@ -164,7 +164,7 @@ export default class MultiMessageBroker {
public stop(): void { public stop(): void {
for (const registration of this.aasRegistrations) { for (const registration of this.aasRegistrations) {
registration.serverInstances?.forEach(server => server?.stop()); registration.serverInstances?.forEach(server => server?.stop());
registration.connectorInterfaces.forEach(connector => connector.disconnect()); registration.connectorInstances.forEach(connector => connector.disconnect());
} }
} }
@@ -183,7 +183,7 @@ export default class MultiMessageBroker {
} }
const getConnector = (mapping: ConnectionConfiguration) => { const getConnector = (mapping: ConnectionConfiguration) => {
const connector = registration.connectorInterfaces?.find(connector => connector.endpointMetadata.base === mapping.base); const connector = registration.connectorInstances?.find(connector => connector.endpointMetadata.base === mapping.base);
if (connector === undefined) throw new ReferenceError(`No connector found for ${(request.target as any).idShort}`); if (connector === undefined) throw new ReferenceError(`No connector found for ${(request.target as any).idShort}`);
return connector; return connector;
@@ -191,11 +191,11 @@ export default class MultiMessageBroker {
if (request.type === "xAsyncActionState" || request.type === "xAsyncActionResult") { if (request.type === "xAsyncActionState" || request.type === "xAsyncActionResult") {
if (request.type === "xAsyncActionState") { if (request.type === "xAsyncActionState") {
const state = registration.connectorInterfaces.map(connector => connector.readAsyncActionState(request.target)).filter(state => state !== undefined)[0]; const state = registration.connectorInstances.map(connector => connector.readAsyncActionState(request.target)).filter(state => state !== undefined)[0];
if (state === undefined) throw new ReferenceError(`No connector found for operation handle ${request.target}`); if (state === undefined) throw new ReferenceError(`No connector found for operation handle ${request.target}`);
return state; return state;
} else { } else {
const result = registration.connectorInterfaces.map(connector => connector.readAsyncActionResponse(request.target)).filter(result => result !== undefined)[0]; const result = registration.connectorInstances.map(connector => connector.readAsyncActionResponse(request.target)).filter(result => result !== undefined)[0];
if (result === undefined) throw new ReferenceError(`No connector found for operation handle ${request.target}`); if (result === undefined) throw new ReferenceError(`No connector found for operation handle ${request.target}`);
return result; return result;
} }