jspurefix
Version:
pure node js fix engine
60 lines • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const runtime_1 = require("../../../runtime");
const skeleton_client_1 = require("./skeleton-client");
const tcp_1 = require("../../../transport/tcp");
const respawn_acceptor_1 = require("./respawn-acceptor");
const ascii_1 = require("../../../buffer/ascii");
const skeleton_server_1 = require("./skeleton-server");
const path = require("path");
const root = '../../../../';
function makeConfig(config) {
const o = require(path.join(root, config));
o.ResetSeqNumFlag = false;
return o;
}
class AppLauncher extends runtime_1.SessionLauncher {
constructor() {
super(makeConfig('data/session/test-initiator.json'), makeConfig('data/session/test-acceptor.json'));
}
asInitiator(sessionContainer) {
sessionContainer.register(runtime_1.DITokens.FixSession, {
useClass: skeleton_client_1.SkeletonClient
});
sessionContainer.register(runtime_1.DITokens.FixEntity, {
useClass: tcp_1.RecoveringTcpInitiator
});
}
asAcceptor(sessionContainer) {
sessionContainer.register(runtime_1.DITokens.FixEntity, {
useClass: respawn_acceptor_1.RespawnAcceptor
});
sessionContainer.register(runtime_1.DITokens.FixSession, {
useClass: skeleton_server_1.SkeletonServer
});
sessionContainer.register('logoutSeconds', {
useValue: 45
});
}
registerApplication(sessionContainer) {
const config = sessionContainer.resolve(runtime_1.DITokens.IJsFixConfig);
config.logDelimiter = ascii_1.AsciiChars.Carat;
const isInitiator = this.isInitiator(config.description);
if (isInitiator) {
this.asInitiator(sessionContainer);
}
else {
this.asAcceptor(sessionContainer);
}
sessionContainer.register('logoutSeconds', {
useValue: 45
});
sessionContainer.register('useInMemoryStore', {
useValue: false
});
}
}
const l = new AppLauncher();
l.exec();
//# sourceMappingURL=app.js.map