reliable-zeromq
Version:
A collection of reliable zeromq messaging constructs
34 lines • 2.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class Config {
static get MaximumLatency() {
return this.mMaximumLatency;
}
static get HeartBeatInterval() {
return this.mHeartbeatInterval;
}
static set MaximumLatency(aMaximumLatency) {
if (aMaximumLatency < this.mHeartbeatInterval) {
throw new Error("Heartbeat must be lower than maximum latency");
}
this.mMaximumLatency = aMaximumLatency;
}
static set HeartBeatInterval(aHeartbeatInterval) {
if (aHeartbeatInterval > this.mMaximumLatency) {
throw new Error("Heartbeat must be lower than maximum latency");
}
this.mHeartbeatInterval = aHeartbeatInterval;
}
static SetGlobalConfig(aMaximumLatency = 2000, aHeartbeat = 1000) {
if (aMaximumLatency < aHeartbeat) {
throw new Error("Heartbeat must be lower than maximum latency");
}
this.mMaximumLatency = aMaximumLatency;
this.mHeartbeatInterval = aHeartbeat;
}
}
exports.default = Config;
// Consider making parameters immutable once first used, to avoid issues like different cache expiries
Config.mMaximumLatency = 2000;
Config.mHeartbeatInterval = 100;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vU3JjL0NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE1BQXFCLE1BQU07SUFNaEIsTUFBTSxLQUFLLGNBQWM7UUFFNUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxNQUFNLEtBQUssaUJBQWlCO1FBRS9CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7SUFFTSxNQUFNLEtBQUssY0FBYyxDQUFDLGVBQXVCO1FBRXBELElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFDN0M7WUFDSSxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDbkU7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztJQUMzQyxDQUFDO0lBRU0sTUFBTSxLQUFLLGlCQUFpQixDQUFDLGtCQUEwQjtRQUUxRCxJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQyxlQUFlLEVBQzdDO1lBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO0lBQ2pELENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLGtCQUEwQixJQUFJLEVBQUUsYUFBcUIsSUFBSTtRQUVuRixJQUFJLGVBQWUsR0FBRyxVQUFVLEVBQ2hDO1lBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFVBQVUsQ0FBQztJQUN6QyxDQUFDOztBQTdDTCx5QkE4Q0M7QUE1Q0csc0dBQXNHO0FBQ3ZGLHNCQUFlLEdBQVcsSUFBSSxDQUFDO0FBQy9CLHlCQUFrQixHQUFXLEdBQUcsQ0FBQyJ9