reliable-zeromq
Version:
A collection of reliable zeromq messaging constructs
50 lines (41 loc) • 1.25 kB
text/typescript
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);