Class Engine

Hierarchy

  • EngineProcessAPI

    Hierarchy

    • Engine

Constructors

  • Parameters

    • engineConfig: Partial<EngineConfig> = {}
    • engineExtraConfig: Partial<EngineExtraConfig> = {}

      isLocal is defaulted to true

    Returns Engine

Properties

#abortController: AbortController = ...
#benthosEXEFullPath: string = "/tmp"
#constructorDone: Deferred = ...
#debug: Debugger = ...

debug is used heavily; exthos:engine:debugLog - give general debug logs exthos:eventLog - print events as they are emitted exthos:engine:traceLog - prints trace information showing flow of code

#debugLog: Debugger = ...
#engineConfig: EngineConfig
#engineConfigFilePath: string = ...
#engineConstrStartStopMutex: Mutex = ...
#engineExtraConfig: EngineExtraConfig
#engineProcess: ExecaChildProcess<string>
#engineStreamAddUpdateRemoveMutex: Mutex = ...
#engineUpdateConfigOptionsMutex: Mutex = ...
#eventLog: Debugger = ...
#eventNameToEventLog: Partial<Record<engineEventsTypes, Debugger>> = {}
#isActive: boolean = false
#keepAliveInterval: Timeout
#mgmtEventsFreqMs: number = 2000
#scheme: "http" | "https" = "http"
#streamsMap: { [key: string]: Stream } = {}

Type declaration

#tempLocalServer: Server
#traceLog: Debugger = ...
_axiosInstance: AxiosInstance
emit: ((event: engineEventsTypes, eventObj: EventObj, ...values: any[]) => boolean) = ...

Type declaration

    • (event: engineEventsTypes, eventObj: EventObj, ...values: any[]): boolean
    • Parameters

      • event: engineEventsTypes
      • eventObj: EventObj
      • Rest ...values: any[]

      Returns boolean

engineEvents: typeof engineEventsEnums = engineEventsEnums
waitForActiveEventMs: number = 5000
#defaultEngineEventHandler: ((this: Engine, eventName: string | string[], eventObj: EventObj) => void) = ...

Type declaration

    • (this: Engine, eventName: string | string[], eventObj: EventObj): void
    • The default event hander prints all events on the console/stdout. Additionally, it:

      • stops the stream on receiving an "engineProcess.stream.error" event 5 times

      Parameters

      • this: Engine

        Engine

      • eventName: string | string[]

        the name of the event

      • eventObj: EventObj

        the event object of type EventObj containing event information

      Returns void

defaultMaxListeners: number

Accessors

Methods

  • internal API that sets the engine config. called from the constructor and updateEngineConfigs method

    Parameters

    • receivedEngineConfig: Partial<EngineConfig>

    Returns Promise<void>

  • internal API that sets the engine extraConfig. called from the constructor and updateEngineConfigs method

    Parameters

    • receivedEngineExtraConfig: Partial<EngineExtraConfig>

    Returns Promise<void>

  • Parameters

    • stream: Stream
    • axiosReqConfig: AxiosRequestConfig<any> = {}

    Returns Promise<AxiosResponse<string, any>>

  • Parameters

    • axiosReqConfig: AxiosRequestConfig<any> = {}

    Returns Promise<AxiosResponse<string, any>>

  • Parameters

    • axiosReqConfig: AxiosRequestConfig<any> = {}

    Returns Promise<AxiosResponse<string, any>>

  • Parameters

    • stream: Stream
    • axiosReqConfig: AxiosRequestConfig<any> = {}

    Returns Promise<AxiosResponse<{ active: boolean; config: TStreamConfig; uptime: number; uptime_str: string }, any>>

  • Parameters

    • stream: Stream
    • axiosReqConfig: AxiosRequestConfig<any> = {}

    Returns Promise<AxiosResponse<string, any>>

  • Parameters

    • axiosReqConfig: AxiosRequestConfig<any> = {}

    Returns Promise<AxiosResponse<{ [streamID: string]: { active: boolean; uptime: BigInt; uptime_str: string } }, any>>

  • Parameters

    • stream: Stream
    • axiosReqConfig: AxiosRequestConfig<any> = {}

    Returns Promise<AxiosResponse<string, any>>

  • Parameters

    • streamsMap: { [key: string]: Stream }
    • axiosReqConfig: AxiosRequestConfig<any> = {}

    Returns Promise<AxiosResponse<string, any>>

  • Parameters

    • stream: Stream
    • axiosReqConfig: AxiosRequestConfig<any> = {}

    Returns Promise<AxiosResponse<string, any>>

  • Parameters

    • event: string | symbol | event[]
    • listener: ListenerFn

    Returns Engine | Listener

  • Parameters

    • event: string | symbol | event[]
    • Rest ...values: any[]

    Returns Promise<any[]>

  • Parameters

    • Optional nsAsArray: boolean

    Returns (string | symbol | event[])[]

  • Returns number

  • Parameters

    • Optional event: String

    Returns Boolean

  • Parameters

    • target: GeneralEventEmitter
    • events: string | symbol | event[]
    • Optional options: ListenToOptions

    Returns Engine

  • Parameters

    • target: GeneralEventEmitter
    • events: event[]
    • Optional options: ListenToOptions

    Returns Engine

  • Parameters

    • target: GeneralEventEmitter
    • events: Object
    • Optional options: ListenToOptions

    Returns Engine

  • Parameters

    • Optional event: string | symbol | event[]

    Returns number

  • Parameters

    • Optional event: string | symbol | event[]

    Returns ListenerFn[]

  • Returns ListenerFn[]

  • Parameters

    • event: string | symbol | event[]
    • timesToListen: number
    • listener: ListenerFn
    • Optional options: boolean | OnOptions

    Returns Engine | Listener

  • Parameters

    • event: string | symbol | event[]
    • listener: ListenerFn

    Returns Engine

  • Parameters

    • listener: ListenerFn

    Returns Engine

  • Parameters

    • event: string | symbol | event[]
    • listener: ListenerFn
    • Optional options: boolean | OnOptions

    Returns Engine | Listener

  • Parameters

    • listener: EventAndListener

    Returns Engine

  • Parameters

    • event: string | symbol | event[]
    • listener: ListenerFn
    • Optional options: true | OnOptions

    Returns Engine | Listener

  • Parameters

    • listener: EventAndListener

    Returns Engine

  • Parameters

    • event: string | symbol | event[]
    • listener: ListenerFn
    • Optional options: boolean | OnOptions

    Returns Engine | Listener

  • Parameters

    • event: string | symbol | event[]
    • timesToListen: number
    • listener: ListenerFn
    • Optional options: boolean | OnOptions

    Returns Engine | Listener

  • Parameters

    • event: string | symbol | event[]
    • listener: ListenerFn
    • Optional options: boolean | OnOptions

    Returns Engine | Listener

  • Parameters

    • Optional event: string | symbol | event[]

    Returns Engine

  • Parameters

    • event: string | symbol | event[]
    • listener: ListenerFn

    Returns Engine

  • Parameters

    • n: number

    Returns void

  • start the engine, and the streams already added to it. for remote engines, it will start the mgmt process e.g. ping, cleanup etc.

    Returns

    Returns Promise<Engine>

  • Parameters

    • Optional target: GeneralEventEmitter
    • Optional event: string | symbol | event[]

    Returns Boolean

  • Parameters

    • receivedEngineConfig: Partial<EngineConfig> = {}
    • receivedEngineExtraConfig: Partial<EngineExtraConfig> = {}

    Returns Promise<void>

  • use the default event handler, and optinally provide additional event handlers for custom logic

    Parameters

    • addnEventHandlers: { [eventName: string]: ListenerFn } = {}
      • [eventName: string]: ListenerFn

    Returns void

  • Parameters

    • event: string | symbol | event[]
    • Optional timeout: number

    Returns CancelablePromise<any[]>

  • Parameters

    • event: string | symbol | event[]
    • Optional filter: WaitForFilter

    Returns CancelablePromise<any[]>

  • Parameters

    • event: string | symbol | event[]
    • Optional options: WaitForOptions

    Returns CancelablePromise<any[]>

  • Parameters

    • emitter: EventEmitter2
    • event: string | symbol | event[]
    • Optional options: OnceOptions

    Returns CancelablePromise<any[]>

Generated using TypeDoc