UNPKG

reliable-zeromq

Version:

A collection of reliable zeromq messaging constructs

50 lines (41 loc) 1.25 kB
import { PerfTest } from "simple-perf"; import { Delay } from "../../Src/Utils/Delay"; import { ZMQRequest } from "../../Src/ZMQRequest"; import { ZMQResponse } from "../../Src/ZMQResponse"; import TestEndpoint from "../Helpers/TestEndpoint"; const lTestEndpoint: string = TestEndpoint.GetEndpoint("RequestResponsePerformance"); const lRequester: ZMQRequest = new ZMQRequest(lTestEndpoint); const lResponder: ZMQResponse = new ZMQResponse(lTestEndpoint, Responder); function Responder(): Promise<string> { return Promise.resolve("ImmediateResult"); } function Requester(): Promise<any> { return lRequester.Send("PerfRequest"); } const lBenchmarks: PerfTest[] = [ new PerfTest( { Name: "RequestResponse > Synchronous Throughput", Function: Requester, FunctionReturnsPromise: true, Console: true, State: [ { Key: "lRequester", Value: lRequester }, ], }, ), ]; async function RunTests(aBenchmarks: PerfTest[]): Promise<void> { await Delay(500); for (let i: number = 0; i < aBenchmarks.length; ++i) { await aBenchmarks[i].Run(); } lResponder.Close(); lRequester.Close(); } RunTests(lBenchmarks);