All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.dist.src.config.leaderboard-configurations.js Maven / Gradle / Ivy

The newest version!
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Laptop = void 0;
const leaderboard_configuration_1 = require("./leaderboard-configuration");
const __1 = require("../");
const default_momento_logger_1 = require("./logging/default-momento-logger");
// 4 minutes.  We want to remain comfortably underneath the idle timeout for AWS NLB, which is 350s.
const defaultMaxIdleMillis = 4 * 60 * 1000;
const defaultMaxSessionMemoryMb = 256;
const defaultLoggerFactory = new default_momento_logger_1.DefaultMomentoLoggerFactory();
const defaultMiddlewares = [];
/**
 * Laptop config provides defaults suitable for a medium-to-high-latency dev environment.
 * @export
 * @class Laptop
 */
class Laptop extends leaderboard_configuration_1.LeaderboardClientConfiguration {
    /**
     * Provides the latest recommended configuration for a laptop development environment.  NOTE: this configuration may
     * change in future releases to take advantage of improvements we identify for default configurations.
     * @param {MomentoLoggerFactory} [loggerFactory=defaultLoggerFactory]
     * @returns {LeaderboardConfiguration}
     */
    static latest(loggerFactory = defaultLoggerFactory) {
        return Laptop.v1(loggerFactory);
    }
    /**
     * Provides v1 recommended configuration for a laptop development environment.  This configuration is guaranteed not
     * to change in future releases of the Momento web SDK.
     * @param {MomentoLoggerFactory} [loggerFactory=defaultLoggerFactory]
     * @returns {LeaderboardConfiguration}
     */
    static v1(loggerFactory = defaultLoggerFactory) {
        const deadlineMillis = 15000;
        const grpcConfig = new __1.StaticGrpcConfiguration({
            deadlineMillis: deadlineMillis,
            maxSessionMemoryMb: defaultMaxSessionMemoryMb,
            keepAlivePermitWithoutCalls: 1,
            keepAliveTimeMs: 5000,
            keepAliveTimeoutMs: 1000,
        });
        const transportStrategy = new __1.StaticTransportStrategy({
            grpcConfiguration: grpcConfig,
            maxIdleMillis: defaultMaxIdleMillis,
        });
        return new Laptop({
            loggerFactory: loggerFactory,
            transportStrategy: transportStrategy,
            throwOnErrors: false,
            middlewares: defaultMiddlewares,
        });
    }
}
exports.Laptop = Laptop;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZGVyYm9hcmQtY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2xlYWRlcmJvYXJkLWNvbmZpZ3VyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJFQUdxQztBQUdyQywyQkFLYTtBQUNiLDZFQUE2RTtBQUc3RSxvR0FBb0c7QUFDcEcsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUssQ0FBQztBQUM1QyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQztBQUN0QyxNQUFNLG9CQUFvQixHQUN4QixJQUFJLG9EQUEyQixFQUFFLENBQUM7QUFDcEMsTUFBTSxrQkFBa0IsR0FBaUIsRUFBRSxDQUFDO0FBRTVDOzs7O0dBSUc7QUFDSCxNQUFhLE1BQU8sU0FBUSwwREFBOEI7SUFDeEQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUNYLGdCQUFzQyxvQkFBb0I7UUFFMUQsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxFQUFFLENBQ1AsZ0JBQXNDLG9CQUFvQjtRQUUxRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDN0IsTUFBTSxVQUFVLEdBQXNCLElBQUksMkJBQXVCLENBQUM7WUFDaEUsY0FBYyxFQUFFLGNBQWM7WUFDOUIsa0JBQWtCLEVBQUUseUJBQXlCO1lBQzdDLDJCQUEyQixFQUFFLENBQUM7WUFDOUIsZUFBZSxFQUFFLElBQUk7WUFDckIsa0JBQWtCLEVBQUUsSUFBSTtTQUN6QixDQUFDLENBQUM7UUFDSCxNQUFNLGlCQUFpQixHQUFzQixJQUFJLDJCQUF1QixDQUFDO1lBQ3ZFLGlCQUFpQixFQUFFLFVBQVU7WUFDN0IsYUFBYSxFQUFFLG9CQUFvQjtTQUNwQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksTUFBTSxDQUFDO1lBQ2hCLGFBQWEsRUFBRSxhQUFhO1lBQzVCLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQyxhQUFhLEVBQUUsS0FBSztZQUNwQixXQUFXLEVBQUUsa0JBQWtCO1NBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXpDRCx3QkF5Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBMZWFkZXJib2FyZENsaWVudENvbmZpZ3VyYXRpb24sXG4gIExlYWRlcmJvYXJkQ29uZmlndXJhdGlvbixcbn0gZnJvbSAnLi9sZWFkZXJib2FyZC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7TW9tZW50b0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0Bnb21vbWVudG8vc2RrLWNvcmUnO1xuXG5pbXBvcnQge1xuICBHcnBjQ29uZmlndXJhdGlvbixcbiAgU3RhdGljR3JwY0NvbmZpZ3VyYXRpb24sXG4gIFN0YXRpY1RyYW5zcG9ydFN0cmF0ZWd5LFxuICBUcmFuc3BvcnRTdHJhdGVneSxcbn0gZnJvbSAnLi4vJztcbmltcG9ydCB7RGVmYXVsdE1vbWVudG9Mb2dnZXJGYWN0b3J5fSBmcm9tICcuL2xvZ2dpbmcvZGVmYXVsdC1tb21lbnRvLWxvZ2dlcic7XG5pbXBvcnQge01pZGRsZXdhcmV9IGZyb20gJy4vbWlkZGxld2FyZS9taWRkbGV3YXJlJztcblxuLy8gNCBtaW51dGVzLiAgV2Ugd2FudCB0byByZW1haW4gY29tZm9ydGFibHkgdW5kZXJuZWF0aCB0aGUgaWRsZSB0aW1lb3V0IGZvciBBV1MgTkxCLCB3aGljaCBpcyAzNTBzLlxuY29uc3QgZGVmYXVsdE1heElkbGVNaWxsaXMgPSA0ICogNjAgKiAxXzAwMDtcbmNvbnN0IGRlZmF1bHRNYXhTZXNzaW9uTWVtb3J5TWIgPSAyNTY7XG5jb25zdCBkZWZhdWx0TG9nZ2VyRmFjdG9yeTogTW9tZW50b0xvZ2dlckZhY3RvcnkgPVxuICBuZXcgRGVmYXVsdE1vbWVudG9Mb2dnZXJGYWN0b3J5KCk7XG5jb25zdCBkZWZhdWx0TWlkZGxld2FyZXM6IE1pZGRsZXdhcmVbXSA9IFtdO1xuXG4vKipcbiAqIExhcHRvcCBjb25maWcgcHJvdmlkZXMgZGVmYXVsdHMgc3VpdGFibGUgZm9yIGEgbWVkaXVtLXRvLWhpZ2gtbGF0ZW5jeSBkZXYgZW52aXJvbm1lbnQuXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgTGFwdG9wXG4gKi9cbmV4cG9ydCBjbGFzcyBMYXB0b3AgZXh0ZW5kcyBMZWFkZXJib2FyZENsaWVudENvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogUHJvdmlkZXMgdGhlIGxhdGVzdCByZWNvbW1lbmRlZCBjb25maWd1cmF0aW9uIGZvciBhIGxhcHRvcCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudC4gIE5PVEU6IHRoaXMgY29uZmlndXJhdGlvbiBtYXlcbiAgICogY2hhbmdlIGluIGZ1dHVyZSByZWxlYXNlcyB0byB0YWtlIGFkdmFudGFnZSBvZiBpbXByb3ZlbWVudHMgd2UgaWRlbnRpZnkgZm9yIGRlZmF1bHQgY29uZmlndXJhdGlvbnMuXG4gICAqIEBwYXJhbSB7TW9tZW50b0xvZ2dlckZhY3Rvcnl9IFtsb2dnZXJGYWN0b3J5PWRlZmF1bHRMb2dnZXJGYWN0b3J5XVxuICAgKiBAcmV0dXJucyB7TGVhZGVyYm9hcmRDb25maWd1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGxhdGVzdChcbiAgICBsb2dnZXJGYWN0b3J5OiBNb21lbnRvTG9nZ2VyRmFjdG9yeSA9IGRlZmF1bHRMb2dnZXJGYWN0b3J5XG4gICk6IExlYWRlcmJvYXJkQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIExhcHRvcC52MShsb2dnZXJGYWN0b3J5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlcyB2MSByZWNvbW1lbmRlZCBjb25maWd1cmF0aW9uIGZvciBhIGxhcHRvcCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudC4gIFRoaXMgY29uZmlndXJhdGlvbiBpcyBndWFyYW50ZWVkIG5vdFxuICAgKiB0byBjaGFuZ2UgaW4gZnV0dXJlIHJlbGVhc2VzIG9mIHRoZSBNb21lbnRvIHdlYiBTREsuXG4gICAqIEBwYXJhbSB7TW9tZW50b0xvZ2dlckZhY3Rvcnl9IFtsb2dnZXJGYWN0b3J5PWRlZmF1bHRMb2dnZXJGYWN0b3J5XVxuICAgKiBAcmV0dXJucyB7TGVhZGVyYm9hcmRDb25maWd1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIHYxKFxuICAgIGxvZ2dlckZhY3Rvcnk6IE1vbWVudG9Mb2dnZXJGYWN0b3J5ID0gZGVmYXVsdExvZ2dlckZhY3RvcnlcbiAgKTogTGVhZGVyYm9hcmRDb25maWd1cmF0aW9uIHtcbiAgICBjb25zdCBkZWFkbGluZU1pbGxpcyA9IDE1MDAwO1xuICAgIGNvbnN0IGdycGNDb25maWc6IEdycGNDb25maWd1cmF0aW9uID0gbmV3IFN0YXRpY0dycGNDb25maWd1cmF0aW9uKHtcbiAgICAgIGRlYWRsaW5lTWlsbGlzOiBkZWFkbGluZU1pbGxpcyxcbiAgICAgIG1heFNlc3Npb25NZW1vcnlNYjogZGVmYXVsdE1heFNlc3Npb25NZW1vcnlNYixcbiAgICAgIGtlZXBBbGl2ZVBlcm1pdFdpdGhvdXRDYWxsczogMSxcbiAgICAgIGtlZXBBbGl2ZVRpbWVNczogNTAwMCxcbiAgICAgIGtlZXBBbGl2ZVRpbWVvdXRNczogMTAwMCxcbiAgICB9KTtcbiAgICBjb25zdCB0cmFuc3BvcnRTdHJhdGVneTogVHJhbnNwb3J0U3RyYXRlZ3kgPSBuZXcgU3RhdGljVHJhbnNwb3J0U3RyYXRlZ3koe1xuICAgICAgZ3JwY0NvbmZpZ3VyYXRpb246IGdycGNDb25maWcsXG4gICAgICBtYXhJZGxlTWlsbGlzOiBkZWZhdWx0TWF4SWRsZU1pbGxpcyxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IExhcHRvcCh7XG4gICAgICBsb2dnZXJGYWN0b3J5OiBsb2dnZXJGYWN0b3J5LFxuICAgICAgdHJhbnNwb3J0U3RyYXRlZ3k6IHRyYW5zcG9ydFN0cmF0ZWd5LFxuICAgICAgdGhyb3dPbkVycm9yczogZmFsc2UsXG4gICAgICBtaWRkbGV3YXJlczogZGVmYXVsdE1pZGRsZXdhcmVzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=




© 2015 - 2024 Weber Informatics LLC | Privacy Policy