Class WinccoaCtrlScriptCache

Helper class for caching multiple instances of a CTRL script (initialized for different users if necessary). This helps improving performance when the same CTRL script is called multiple times by the same or different users.

Constructors

Methods

Constructors

  • Constructor.

    Parameters

    • manager: WinccoaManager

      Manager instance which is used for two things:

      Note that this instance only keeps a weak reference to manager which can become invalid if manager gets freed by the garbage collector (see isValid).

    • ctrlCode: string

      CTRL code of the scripts that will be returned by getScript.

    Returns WinccoaCtrlScriptCache

    import {
    WinccoaCtrlScriptCache,
    WinccoaCtrlType,
    WinccoaManager,
    } from 'winccoa-manager';
    const winccoa = new WinccoaManager();

    async function scriptCacheTest() {
    // store the script in a cache for repeated use
    const cache = new WinccoaCtrlScriptCache(
    winccoa,
    `double simpleArgs(int x, double y, string s)
    {
    return (x * y) + s.length();
    }`,
    );

    for (let i = 1; i <= 20; i++) {
    const result = (await cache
    .getScript()
    .start(
    'simpleArgs',
    [i, 34.56, 'some text'],
    [WinccoaCtrlType.int, WinccoaCtrlType.double, WinccoaCtrlType.string],
    )) as number;
    console.log(result);
    }
    }

    void scriptCacheTest();

Methods

  • Indicates whether this instance is valid (that is, whether the weak reference to its manager is still valid).

    Returns boolean