UNPKG

reliable-zeromq

Version:

A collection of reliable zeromq messaging constructs

84 lines 7.21 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /* tslint:disable no-console tslint:disable no-string-literal */ const Config_1 = __importDefault(require("../../Src/Config")); const Delay_1 = require("../../Src/Utils/Delay"); const ZMQPublisher_1 = require("../../Src/ZMQPublisher"); const ZMQSubscriber_1 = require("../../Src/ZMQSubscriber/ZMQSubscriber"); const TestEndpoint_1 = __importDefault(require("../Helpers/TestEndpoint")); async function RunHWMDemo(aHighWaterMark) { console.log(`Running with HWM of ${aHighWaterMark}`); const lEndpoint = { PublisherAddress: TestEndpoint_1.default.GetEndpoint("HWMPublisherAddress"), RequestAddress: TestEndpoint_1.default.GetEndpoint("HWMRequestAddress"), }; const lPubErrors = []; const lSubErrors = []; const lStatusUpdatePublisher = new ZMQPublisher_1.ZMQPublisher(lEndpoint, { HighWaterMarkWarning: (aWarning) => { lPubErrors.push(aWarning); }, }); await lStatusUpdatePublisher.Open(); lStatusUpdatePublisher["mPublisher"].sendHighWaterMark = aHighWaterMark; await lStatusUpdatePublisher["mPublisher"].bind(lEndpoint.PublisherAddress); const lSubscriber = new ZMQSubscriber_1.ZMQSubscriber({ CacheError: (aError) => { lSubErrors.push(aError); }, DroppedMessageWarn: (aWarning) => { lSubErrors.push(aWarning); }, }); const lSentMap = new Map(); const lReceivedMap = new Map(); lSubscriber.Subscribe(lEndpoint, "HWM_TEST", (aMessage) => { lReceivedMap.set(aMessage, true); }); await Delay_1.Delay(100); for (let i = 1; i <= 100; ++i) { const lMessage = `TEST_${i}`; lStatusUpdatePublisher.Publish("HWM_TEST", lMessage); lSentMap.set(lMessage, true); } await Delay_1.Delay(2 * Config_1.default.HeartBeatInterval); lSubscriber.Close(); lStatusUpdatePublisher.Close(); console.log(`PubErrors: ${lPubErrors.length}`); console.log(`SubErrors: ${lSubErrors.length}`); // Find missing values lSentMap.forEach((aValue, aMessageKey) => { if (!lReceivedMap.has(aMessageKey)) { console.log(aMessageKey, "not received!"); } }); } async function RunAll() { await RunHWMDemo(1); await RunHWMDemo(2); await RunHWMDemo(5); await RunHWMDemo(10); await RunHWMDemo(1); await RunHWMDemo(2); await RunHWMDemo(5); await RunHWMDemo(10); await RunHWMDemo(1); await RunHWMDemo(2); await RunHWMDemo(5); await RunHWMDemo(10); await RunHWMDemo(1); await RunHWMDemo(2); await RunHWMDemo(5); await RunHWMDemo(10); await RunHWMDemo(1); await RunHWMDemo(2); await RunHWMDemo(5); await RunHWMDemo(10); await RunHWMDemo(1); await RunHWMDemo(2); await RunHWMDemo(5); await RunHWMDemo(10); await RunHWMDemo(1); await RunHWMDemo(2); await RunHWMDemo(5); await RunHWMDemo(10); } RunAll(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWk1RU2VuZEhpZ2hXYXRlck1hcmsuZGVtby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL1Rlc3QvRGVtb3MvWk1RU2VuZEhpZ2hXYXRlck1hcmsuZGVtby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdFQUFnRTtBQUNoRSw4REFBc0M7QUFFdEMsaURBQThDO0FBQzlDLHlEQUFzRDtBQUN0RCx5RUFBOEY7QUFDOUYsMkVBQW1EO0FBRW5ELEtBQUssVUFBVSxVQUFVLENBQUMsY0FBc0I7SUFFNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNyRCxNQUFNLFNBQVMsR0FDZjtRQUNJLGdCQUFnQixFQUFFLHNCQUFZLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDO1FBQ2pFLGNBQWMsRUFBRSxzQkFBWSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztLQUNoRSxDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQVUsRUFBRSxDQUFDO0lBQzdCLE1BQU0sVUFBVSxHQUFVLEVBQUUsQ0FBQztJQUM3QixNQUFNLHNCQUFzQixHQUFpQixJQUFJLDJCQUFZLENBQ3pELFNBQVMsRUFDVDtRQUNJLG9CQUFvQixFQUFFLENBQUMsUUFBOEIsRUFBUSxFQUFFLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakcsQ0FDSixDQUFDO0lBQ0YsTUFBTSxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxpQkFBaUIsR0FBRyxjQUFjLENBQUM7SUFDeEUsTUFBTSxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFNUUsTUFBTSxXQUFXLEdBQWtCLElBQUksNkJBQWEsQ0FDaEQ7UUFDSSxVQUFVLEVBQUUsQ0FBQyxNQUE0QixFQUFRLEVBQUUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixrQkFBa0IsRUFBRSxDQUFDLFFBQWdDLEVBQVEsRUFBRSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pHLENBQ0osQ0FBQztJQUVGLE1BQU0sUUFBUSxHQUF5QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2pELE1BQU0sWUFBWSxHQUF5QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXJELFdBQVcsQ0FBQyxTQUFTLENBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsQ0FBQyxRQUFnQixFQUFRLEVBQUU7UUFFdkIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUNKLENBQUM7SUFFRixNQUFNLGFBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQixLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUNyQztRQUNJLE1BQU0sUUFBUSxHQUFXLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDckMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNyRCxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNoQztJQUNELE1BQU0sYUFBSyxDQUFDLENBQUMsR0FBRyxnQkFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFMUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLHNCQUFzQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBRS9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMvQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFFL0Msc0JBQXNCO0lBQ3RCLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFlLEVBQUUsV0FBbUIsRUFBRSxFQUFFO1FBRXRELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUNsQztZQUNJLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1NBQzdDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsS0FBSyxVQUFVLE1BQU07SUFFakIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsTUFBTSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDekIsQ0FBQztBQUVELE1BQU0sRUFBRSxDQUFDIn0=