reliable-zeromq
Version:
A collection of reliable zeromq messaging constructs
84 lines • 7.21 kB
JavaScript
;
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=