nxkit
Version:
This is a collection of tools, independent of any other libraries
74 lines (73 loc) • 2.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = require("../util");
const cli = require("./cli");
require("../log");
// require('../ws/cli/conv').USE_GZIP_DATA = false;
// log.defaultConsole.makeDefault();
var host = util_1.default.options.host;
if (host) {
host = `192.168.${host}`;
}
else {
host = `127.0.0.1`;
}
async function test() {
var a = new cli.FMTClient('a', `fmt://${host}:8091/`);
var b = new cli.FMTClient('b', `fmt://${host}:8092/`);
var c = new cli.FMTClient('c', `fmt://${host}:8093/`);
var d = new cli.FMTClient('d', `fmt://${host}:8094/`);
var e = new cli.FMTClient('e', `fmt://${host}:8094/`);
var st = Date.now();
var _resolve = null;
function log(e) {
var now = Date.now();
console.log(e.data, now - st);
st = now;
if (_resolve) {
_resolve();
_resolve = null;
}
}
// chech death
setInterval(() => {
if (_resolve) {
_resolve();
_resolve = null;
}
}, 1e4);
var limit = true;
function trigger(that, event, data) {
return new Promise(async (resolve, reject) => {
if (limit) {
if (_resolve)
return reject('err');
_resolve = resolve;
}
else {
await util_1.default.sleep(10);
}
that.trigger(event, data).then(() => limit || resolve()).catch(reject);
});
}
a.addEventListener('A', log);
b.addEventListener('A', log);
c.addEventListener('A', log);
d.addEventListener('A', log);
e.addEventListener('A', log);
await util_1.default.sleep(1000);
for (var i = 0; i < 1e6; i++) {
try {
await trigger(b.that('a'), 'A', 'A-' + i);
await trigger(a.that('b'), 'A', 'B-' + i);
await trigger(a.that('c'), 'A', 'C-' + i);
await trigger(c.that('d'), 'A', 'D-' + i);
await trigger(b.that('e'), 'A', 'E-' + i);
}
catch (err) {
console.error('--------------------------', err);
}
}
console.log('ok');
}
test();