Adding new Timeoutsettings.
This commit is contained in:
parent
bedc93b923
commit
2ef9caba20
@ -1,6 +1,6 @@
|
||||
import { EventEmitter } from "events";
|
||||
import { Logger } from "winston";
|
||||
import { IAvailableInstanceGenerators, IAvailableServicesMsg, IAvailableTopicsMsg, ICommunicationInterface, IExternalEventMsg, IRequestTaskMsg, IResponseTaskMsg } from "../types/communication.interface";
|
||||
import { IAvailableInstanceGeneratorsMsg, IAvailableServicesMsg, IAvailableTopicsMsg, ICommunicationInterface, IExternalEventMsg, IRequestTaskMsg, IResponseTaskMsg, ITaskCancelationMsg } from "../types/communication.interface";
|
||||
|
||||
/**
|
||||
* A Communication Layer for the Dispatchers.
|
||||
@ -19,12 +19,28 @@ export class EventLayer implements ICommunicationInterface {
|
||||
){
|
||||
|
||||
}
|
||||
|
||||
async onTaskCancelation(cb: (msg: ITaskCancelationMsg) => void) {
|
||||
this._emitter.on('cancel',cb);
|
||||
}
|
||||
|
||||
async emitNewInstanceGeneratorsAvailable(generators: IAvailableInstanceGenerators) {
|
||||
async emitTaskCancelation(msg: ITaskCancelationMsg) {
|
||||
this._emitter.emit('cancel', msg);
|
||||
}
|
||||
|
||||
async onAurevoir(cb: (dispatcher: string) => void) {
|
||||
this._emitter.on('aurevoir', cb);
|
||||
}
|
||||
|
||||
async emitAurevoir(dispatcher: string) {
|
||||
this._emitter.emit('aurevoir', dispatcher);
|
||||
}
|
||||
|
||||
async emitNewInstanceGeneratorsAvailable(generators: IAvailableInstanceGeneratorsMsg) {
|
||||
this._emitter.emit('generators',generators);
|
||||
}
|
||||
|
||||
async onNewInstanceGeneratorsAvailable(cb: (generators: IAvailableInstanceGenerators) => void) {
|
||||
async onNewInstanceGeneratorsAvailable(cb: (generators: IAvailableInstanceGeneratorsMsg) => void) {
|
||||
this._emitter.on('generators',cb)
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @author Martin Karkowski
|
||||
* @email m.karkowski@zema.de
|
||||
* @create date 2020-10-12 18:31:54
|
||||
* @modify date 2020-10-14 07:52:52
|
||||
* @modify date 2020-11-04 16:59:44
|
||||
* @desc [description]
|
||||
*/
|
||||
|
||||
@ -152,25 +152,80 @@ export interface ICommunicationInterface {
|
||||
*/
|
||||
emitBonjour(dispatcher: string): Promise<void>;
|
||||
|
||||
/**
|
||||
* Function, to subscribe to "Bonjour"-Messages of the Dispatcher Dispatchers.
|
||||
*
|
||||
* @param {(dispatcher: string) => void} cb The callback which should be called.
|
||||
* @memberof ICommunicationInterface
|
||||
*/
|
||||
onAurevoir(cb: (dispatcher: string) => void): Promise<void>;
|
||||
|
||||
/**
|
||||
* Function to emit a Bonjour message.
|
||||
*
|
||||
* @param {string} dispatcher The ID of the new Dispatcher.
|
||||
* @memberof ICommunicationInterface
|
||||
*/
|
||||
emitAurevoir(dispatcher: string): Promise<void>;
|
||||
|
||||
/**
|
||||
* Register on cancelation events.
|
||||
*
|
||||
* @return {*} {Promise<void>}
|
||||
* @memberof ICommunicationInterface
|
||||
*/
|
||||
onTaskCancelation(cb: (msg: ITaskCancelationMsg) => void): Promise<void>;
|
||||
|
||||
/**
|
||||
* Function to emit a Task cancelation.
|
||||
*
|
||||
* @param {ITaskCancelationMsg} msg
|
||||
* @return {*} {Promise<void>}
|
||||
* @memberof ICommunicationInterface
|
||||
*/
|
||||
emitTaskCancelation(msg: ITaskCancelationMsg): Promise<void>;
|
||||
|
||||
/**
|
||||
* Function to Emit a message, containing information of new
|
||||
* Constructors.
|
||||
*
|
||||
* @param {IAvailableInstanceGenerators} creators
|
||||
* @param {IAvailableInstanceGeneratorsMsg} creators
|
||||
* @memberof ICommunicationInterface
|
||||
*/
|
||||
emitNewInstanceGeneratorsAvailable(creators: IAvailableInstanceGenerators): Promise<void>;
|
||||
emitNewInstanceGeneratorsAvailable(creators: IAvailableInstanceGeneratorsMsg): Promise<void>;
|
||||
|
||||
/**
|
||||
* Function to show, which instances could be created.
|
||||
*
|
||||
* @param {(creators: IAvailableInstanceGenerators) => void} cb
|
||||
* @param {(creators: IAvailableInstanceGeneratorsMsg) => void} cb
|
||||
* @memberof ICommunicationInterface
|
||||
*/
|
||||
onNewInstanceGeneratorsAvailable(cb: (creators: IAvailableInstanceGenerators) => void);
|
||||
onNewInstanceGeneratorsAvailable(cb: (creators: IAvailableInstanceGeneratorsMsg) => void);
|
||||
}
|
||||
|
||||
export type IAvailableInstanceGenerators = {
|
||||
|
||||
export type ITaskCancelationMsg = {
|
||||
/**
|
||||
* The Id of the Dispatcher
|
||||
*
|
||||
* @type {string}
|
||||
*/
|
||||
dispatcher: string,
|
||||
/**
|
||||
* ID of the canceled Task
|
||||
*
|
||||
* @type {string}
|
||||
*/
|
||||
taskId: string,
|
||||
/**
|
||||
* Reason, why the Task has been canceled.
|
||||
*
|
||||
* @type {*}
|
||||
*/
|
||||
reason: any,
|
||||
}
|
||||
|
||||
export type IAvailableInstanceGeneratorsMsg = {
|
||||
/**
|
||||
* The Id of the Dispatcher
|
||||
*
|
||||
@ -186,19 +241,19 @@ export type IAvailableInstanceGenerators = {
|
||||
generators: string[]
|
||||
}
|
||||
|
||||
export interface IInstanceDescription {
|
||||
export interface IInstanceDescriptionMsg {
|
||||
type: string,
|
||||
description: INopeModuleDescription
|
||||
}
|
||||
|
||||
export interface IInstanceCreation {
|
||||
export interface IInstanceCreationMsg {
|
||||
type: string,
|
||||
identifier: string,
|
||||
params: any,
|
||||
dispatcherID: string,
|
||||
}
|
||||
|
||||
export interface IInstanceRemoval {
|
||||
export interface IInstanceRemovalMsg {
|
||||
identifier: string,
|
||||
dispatcherID: string,
|
||||
}
|
||||
@ -348,6 +403,13 @@ export type ICallOptions = {
|
||||
* @type {string}
|
||||
*/
|
||||
resultSink: string
|
||||
/**
|
||||
* A User Provided Timeout of the call. After the timeout has been
|
||||
* ellapsed, the task is cancelled with a timeout error.
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
timeout?: number
|
||||
}
|
||||
|
||||
export type IResponseTaskMsg = {
|
||||
|
Loading…
Reference in New Issue
Block a user