reliable-zeromq
Version:
A collection of reliable zeromq messaging constructs
53 lines • 3.79 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const simple_perf_1 = require("simple-perf");
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"));
const lPublishEndpoint = TestEndpoint_1.default.GetEndpoint("PublishPerformance");
const lRecoveryEndpoint = TestEndpoint_1.default.GetEndpoint("PublishRecoveryPerformance");
const lPublisher = new ZMQPublisher_1.ZMQPublisher({
PublisherAddress: lPublishEndpoint,
RequestAddress: lRecoveryEndpoint,
});
const lSubscriber = new ZMQSubscriber_1.ZMQSubscriber();
let lCallback = undefined;
function Resolver(aMessage) {
lCallback(aMessage);
}
lSubscriber.Subscribe({
PublisherAddress: lPublishEndpoint,
RequestAddress: lRecoveryEndpoint,
}, "PerfTest", Resolver);
function PublishReceive() {
lPublisher.Publish("PerfTest", "PerfData");
return new Promise((aResolve) => {
lCallback = aResolve;
});
}
const lBenchmarks = [
new simple_perf_1.PerfTest({
Name: "PublishSubscribe > Synchronous Throughput",
Function: PublishReceive,
FunctionReturnsPromise: true,
Console: true,
State: [
{ Key: "lPublisher", Value: lPublisher },
],
}),
];
async function RunTests(aBenchmarks) {
await lPublisher.Open();
await Delay_1.Delay(500);
for (let i = 0; i < aBenchmarks.length; ++i) {
await aBenchmarks[i].Run();
}
lSubscriber.Close();
lPublisher.Close();
}
RunTests(lBenchmarks);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWk1RUHVibGlzaFN1YnNjcmliZS5wZXJmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vVGVzdC9QZXJmb3JtYW5jZS9aTVFQdWJsaXNoU3Vic2NyaWJlLnBlcmYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBdUM7QUFDdkMsaURBQThDO0FBQzlDLHlEQUFzRDtBQUN0RCx5RUFBc0U7QUFDdEUsMkVBQW1EO0FBRW5ELE1BQU0sZ0JBQWdCLEdBQVcsc0JBQVksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUNoRixNQUFNLGlCQUFpQixHQUFXLHNCQUFZLENBQUMsV0FBVyxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDekYsTUFBTSxVQUFVLEdBQWlCLElBQUksMkJBQVksQ0FDN0M7SUFDSSxnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMsY0FBYyxFQUFFLGlCQUFpQjtDQUNwQyxDQUNKLENBQUM7QUFDRixNQUFNLFdBQVcsR0FBa0IsSUFBSSw2QkFBYSxFQUFFLENBQUM7QUFFdkQsSUFBSSxTQUFTLEdBQStCLFNBQVUsQ0FBQztBQUN2RCxTQUFTLFFBQVEsQ0FBQyxRQUFnQjtJQUU5QixTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUNELFdBQVcsQ0FBQyxTQUFTLENBQ2pCO0lBQ0ksZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ2xDLGNBQWMsRUFBRSxpQkFBaUI7Q0FDcEMsRUFDRCxVQUFVLEVBQ1YsUUFBUSxDQUNYLENBQUM7QUFFRixTQUFTLGNBQWM7SUFFbkIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFFM0MsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLFFBQW9CLEVBQVEsRUFBRTtRQUU5QyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sV0FBVyxHQUNqQjtJQUNJLElBQUksc0JBQVEsQ0FDUjtRQUNJLElBQUksRUFBRSwyQ0FBMkM7UUFDakQsUUFBUSxFQUFFLGNBQWM7UUFDeEIsc0JBQXNCLEVBQUUsSUFBSTtRQUM1QixPQUFPLEVBQUUsSUFBSTtRQUNiLEtBQUssRUFBRTtZQUNILEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO1NBQzNDO0tBQ0osQ0FDSjtDQUNKLENBQUM7QUFFRixLQUFLLFVBQVUsUUFBUSxDQUFDLFdBQXVCO0lBRTNDLE1BQU0sVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLE1BQU0sYUFBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWpCLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUNuRDtRQUNJLE1BQU0sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0tBQzlCO0lBRUQsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUN2QixDQUFDO0FBRUQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDIn0=