TwyrApplication

TwyrApplication

The Twyr Server Application Class.

Constructor

new TwyrApplication(parentopt, loaderopt)

The Application Class for this server.

Source:

The Application Class for this server.

This class has two major functionalities:

  1. Provide an environment for the rest of the server modules to reside in
  2. Load / Unload the server modules and control the Startup / Shutdown sequences
Parameters:
Name Type Attributes Description
parent TwyrBaseModule <optional>

The parent module, if any. In this case, it's always null

loader TwyrModuleLoader <optional>

The loader to be used for managing modules' lifecycle, if any.

Extends

Members

(readonly) basePath :string

Source:
Overrides:
Type:
  • string

(readonly) dependencies :Object

Source:
Inherited From:
Type:
  • Object

(readonly) name :string

Source:
Overrides:
Type:
  • string

Methods

(async) _changeState(newState) → {undefined}

Enables / disables this module, and all its sub-modules (if any).

Source:
Inherited From:
Parameters:
Name Type Description
newState Object

The next state of this module.

Returns:

Nothing.

Type
undefined

(async) _dependencyReconfigure(dependency) → {undefined}

Lets the module know that one of its dependencies changed configuration.

Source:
Inherited From:
Parameters:
Name Type Description
dependency TwyrBaseModule

The dependency that changed configuration.

Returns:

Nothing.

Type
undefined

(async) _dependencyStateChange(dependency, newState) → {undefined}

Lets the module know that one of its dependencies changed state.

Source:
Inherited From:
Parameters:
Name Type Description
dependency TwyrBaseModule

The dependency that changed state.

newState Object

The next state of the dependency.

Returns:

Nothing.

Type
undefined

(async) _exists(filepath, mode) → {boolean}

Checks to see if the path can be accessed by this process using the mode specified.

Source:
Inherited From:
Parameters:
Name Type Description
filepath string

Path of the filesystem entity.

mode number

Permission to be checked for.

Returns:

True / False.

Type
boolean

_handleUncaughtException(err) → {undefined}

Logs Unhandled Exceptions to prevent the process from crashing.

Source:
Inherited From:
Parameters:
Name Type Description
err Error

The unhandled exception.

Returns:

Nothing.

Type
undefined

(async) _parentReconfigure() → {undefined}

Lets the module know that its parent changed configuration.

Source:
Inherited From:
Returns:

Nothing.

Type
undefined

(async) _parentStateChange(newState) → {undefined}

Lets the module know that its parent changed state.

Source:
Inherited From:
Parameters:
Name Type Description
newState Object

The next state of the parent module.

Returns:

Nothing.

Type
undefined

(async) _reconfigure(newConfig) → {undefined}

Changes the configuration of this module, and informs everyone interested.

Source:
Inherited From:
Parameters:
Name Type Description
newConfig Object

The changed confoguration.

Returns:

Nothing.

Type
undefined

(async) _setup() → {undefined}

To be implemented by derived classes for setting themselves up.

Source:
Inherited From:
Returns:

Nothing.

Type
undefined

(async) _subModuleReconfigure(subModule) → {undefined}

Lets the module know that one of its subModules changed configuration.

Source:
Overrides:
Parameters:
Name Type Description
subModule TwyrBaseModule

The sub-module that changed configuration.

Returns:

Nothing.

Type
undefined

(async) _subModuleStateChange(subModule, newState) → {undefined}

Lets the module know that one of its subModules changed state.

Source:
Inherited From:
Parameters:
Name Type Description
subModule TwyrBaseModule

The sub-module that changed state.

newState Object

The next state of the sub-module.

Returns:

Nothing.

Type
undefined

(async) _teardown() → {undefined}

To be implemented by derived classes for un-setting themselves down.

Source:
Inherited From:
Returns:

Nothing.

Type
undefined

bootupServer() → {Array}

Loads / Initializes / Starts-up sub-modules.

Source:
Returns:
  • The aggregated status returned by sub-modules (if any).
Type
Array

(async) initialize() → {Object}

Initializes sub-modules, if any.

Source:
Inherited From:

Call the loader (typically, TwyrModuleLoader#initialize) to initialize sub-modules, if any.

Returns:
  • The aggregated status returned by sub-modules (if any) once they complete their initialization.
Type
Object

(async) load(configSrvc) → {Object}

Loads sub-modules, if any.

Source:
Inherited From:
  1. Use the supplied ConfigurationService instance (if any), to get / store both configuration and state.
  2. Call the loader (typically, TwyrModuleLoader#load) to load sub-modules, if any.
Parameters:
Name Type Description
configSrvc ConfigurationService

Instance of the ConfigurationService that supplies configuration.

Returns:
  • The aggregated status returned by sub-modules (if any) once they complete their loading.
Type
Object

shutdownServer() → {Array}

Shuts-down / Un-initializes / Un-loads sub-modules.

Source:
Returns:
  • The aggregated status returned by sub-modules (if any).
Type
Array

(async) start(dependencies) → {Object}

Starts sub-modules, if any.

Source:
Inherited From:

Call the loader (typically, TwyrModuleLoader#start) to start sub-modules, if any.

Parameters:
Name Type Description
dependencies Object

Interfaces to TwyrBaseService instances that this module depends on.

Returns:
  • The aggregated status returned by sub-modules (if any) once they complete their startup sequences.
Type
Object

(async) stop() → {Object}

Stops sub-modules, if any.

Source:
Inherited From:

Call the loader (typically, TwyrModuleLoader#stop) to shutdown sub-modules, if any.

Returns:
  • The aggregated status returned by sub-modules (if any) once they complete their shutdown sequences.
Type
Object

(async) uninitialize() → {Object}

Uninitializes sub-modules, if any.

Source:
Inherited From:

Call the loader (typically, TwyrModuleLoader#uninitialize) to uninitialize sub-modules, if any.

Returns:
  • The aggregated status returned by sub-modules (if any) once they uninitialize themselves.
Type
Object

(async) unload() → {Object}

Unloads sub-modules, if any.

Source:
Inherited From:

Call the loader (typically, TwyrModuleLoader#unload) to unload sub-modules, if any.

Returns:
  • The aggregated status returned by sub-modules (if any) once they unload themselves.
Type
Object