jspurefix 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/appveyor.yml +1 -0
- package/dist/runtime/session-launcher.js +2 -2
- package/dist/runtime/session-launcher.js.map +1 -1
- package/package.json +7 -7
- package/src/runtime/session-launcher.ts +2 -2
- package/dist/a-session-msg-factory.d.ts +0 -0
- package/dist/a-session-msg-factory.js +0 -1
- package/dist/a-session-msg-factory.js.map +0 -1
- package/dist/ascii-encoder.test.d.ts +0 -0
- package/dist/ascii-encoder.test.js +0 -1
- package/dist/ascii-encoder.test.js.map +0 -1
- package/dist/ascii-parser.test.d.ts +0 -0
- package/dist/ascii-parser.test.js +0 -1
- package/dist/ascii-parser.test.js.map +0 -1
- package/dist/ascii-segment.test.d.ts +0 -0
- package/dist/ascii-segment.test.js +0 -1
- package/dist/ascii-segment.test.js.map +0 -1
- package/dist/ascii-store-replay.test.d.ts +0 -0
- package/dist/ascii-store-replay.test.js +0 -1
- package/dist/ascii-store-replay.test.js.map +0 -1
- package/dist/ascii-tag-pos.test.d.ts +0 -0
- package/dist/ascii-tag-pos.test.js +0 -1
- package/dist/ascii-tag-pos.test.js.map +0 -1
- package/dist/buffer/segment-description.d.ts +0 -26
- package/dist/buffer/segment-description.js +0 -72
- package/dist/buffer/segment-description.js.map +0 -1
- package/dist/buffer/segment-summary.d.ts +0 -13
- package/dist/buffer/segment-summary.js +0 -20
- package/dist/buffer/segment-summary.js.map +0 -1
- package/dist/buffer/segment-type.d.ts +0 -8
- package/dist/buffer/segment-type.js +0 -13
- package/dist/buffer/segment-type.js.map +0 -1
- package/dist/buffer/tag-pos.d.ts +0 -12
- package/dist/buffer/tag-pos.js +0 -55
- package/dist/buffer/tag-pos.js.map +0 -1
- package/dist/buffer/tag-type.d.ts +0 -13
- package/dist/buffer/tag-type.js +0 -18
- package/dist/buffer/tag-type.js.map +0 -1
- package/dist/buffer/tags.d.ts +0 -21
- package/dist/buffer/tags.js +0 -122
- package/dist/buffer/tags.js.map +0 -1
- package/dist/dictionary/parser/fix-repository/repository-msg.d.ts +0 -0
- package/dist/dictionary/parser/fix-repository/repository-msg.js +0 -1
- package/dist/dictionary/parser/fix-repository/repository-msg.js.map +0 -1
- package/dist/execution-report.test.d.ts +0 -0
- package/dist/execution-report.test.js +0 -1
- package/dist/execution-report.test.js.map +0 -1
- package/dist/experiment.d.ts +0 -0
- package/dist/experiment.js +0 -1
- package/dist/experiment.js.map +0 -1
- package/dist/fix-repo-dict.test.d.ts +0 -0
- package/dist/fix-repo-dict.test.js +0 -1
- package/dist/fix-repo-dict.test.js.map +0 -1
- package/dist/fix-session-state-args.d.ts +0 -0
- package/dist/fix-session-state-args.js +0 -1
- package/dist/fix-session-state-args.js.map +0 -1
- package/dist/fix-session-state.d.ts +0 -0
- package/dist/fix-session-state.js +0 -1
- package/dist/fix-session-state.js.map +0 -1
- package/dist/fix-session.d.ts +0 -0
- package/dist/fix-session.js +0 -1
- package/dist/fix-session.js.map +0 -1
- package/dist/fix.txt +0 -1
- package/dist/fixml-alloc-parse.test.d.ts +0 -0
- package/dist/fixml-alloc-parse.test.js +0 -1
- package/dist/fixml-alloc-parse.test.js.map +0 -1
- package/dist/fixml-mkt-data-fut-parse.test.d.ts +0 -0
- package/dist/fixml-mkt-data-fut-parse.test.js +0 -1
- package/dist/fixml-mkt-data-fut-parse.test.js.map +0 -1
- package/dist/fixml-mkt-data-settle-parse.test.d.ts +0 -0
- package/dist/fixml-mkt-data-settle-parse.test.js +0 -1
- package/dist/fixml-mkt-data-settle-parse.test.js.map +0 -1
- package/dist/fixml-tc-bi-lateral-parse.test.d.ts +0 -0
- package/dist/fixml-tc-bi-lateral-parse.test.js +0 -1
- package/dist/fixml-tc-bi-lateral-parse.test.js.map +0 -1
- package/dist/includes.test.d.ts +0 -0
- package/dist/includes.test.js +0 -1
- package/dist/includes.test.js.map +0 -1
- package/dist/launcher.d.ts +0 -0
- package/dist/launcher.js +0 -1
- package/dist/launcher.js.map +0 -1
- package/dist/logon.test.d.ts +0 -0
- package/dist/logon.test.js +0 -1
- package/dist/logon.test.js.map +0 -1
- package/dist/make-fix-session.d.ts +0 -0
- package/dist/make-fix-session.js +0 -1
- package/dist/make-fix-session.js.map +0 -1
- package/dist/memory-store.test.d.ts +0 -0
- package/dist/memory-store.test.js +0 -1
- package/dist/memory-store.test.js.map +0 -1
- package/dist/object.json +0 -691
- package/dist/qf-full-msg.test.d.ts +0 -0
- package/dist/qf-full-msg.test.js +0 -1
- package/dist/qf-full-msg.test.js.map +0 -1
- package/dist/repo-full-ascii-msg.test.d.ts +0 -0
- package/dist/repo-full-ascii-msg.test.js +0 -1
- package/dist/repo-full-ascii-msg.test.js.map +0 -1
- package/dist/runtime/DITokens.d.ts +0 -20
- package/dist/runtime/DITokens.js +0 -25
- package/dist/runtime/DITokens.js.map +0 -1
- package/dist/runtime/app-launcher.d.ts +0 -27
- package/dist/runtime/app-launcher.js +0 -131
- package/dist/runtime/app-launcher.js.map +0 -1
- package/dist/runtime/launcher.d.ts +0 -29
- package/dist/runtime/launcher.js +0 -131
- package/dist/runtime/launcher.js.map +0 -1
- package/dist/sample/launcher.d.ts +0 -29
- package/dist/sample/launcher.js +0 -131
- package/dist/sample/launcher.js.map +0 -1
- package/dist/sample/tcp/trade-capture/app-launher.d.ts +0 -0
- package/dist/sample/tcp/trade-capture/app-launher.js +0 -1
- package/dist/sample/tcp/trade-capture/app-launher.js.map +0 -1
- package/dist/sample/tcp/trade-capture/jsfix.test_client.txt +0 -11
- package/dist/sample/tcp/trade-capture/jsfix.test_server.txt +0 -10
- package/dist/segment-description.d.ts +0 -0
- package/dist/segment-description.js +0 -1
- package/dist/segment-description.js.map +0 -1
- package/dist/segment-summary.d.ts +0 -0
- package/dist/segment-summary.js +0 -1
- package/dist/segment-summary.js.map +0 -1
- package/dist/segment-type.d.ts +0 -0
- package/dist/segment-type.js +0 -1
- package/dist/segment-type.js.map +0 -1
- package/dist/session-description.d.ts +0 -0
- package/dist/session-description.js +0 -1
- package/dist/session-description.js.map +0 -1
- package/dist/session-msg-factory.d.ts +0 -0
- package/dist/session-msg-factory.js +0 -1
- package/dist/session-msg-factory.js.map +0 -1
- package/dist/session-state.d.ts +0 -0
- package/dist/session-state.js +0 -1
- package/dist/session-state.js.map +0 -1
- package/dist/session-state.test.d.ts +0 -0
- package/dist/session-state.test.js +0 -1
- package/dist/session-state.test.js.map +0 -1
- package/dist/session.test.d.ts +0 -0
- package/dist/session.test.js +0 -1
- package/dist/session.test.js.map +0 -1
- package/dist/setup.d.ts +0 -0
- package/dist/setup.js +0 -1
- package/dist/setup.js.map +0 -1
- package/dist/skeleton-runner.d.ts +0 -0
- package/dist/skeleton-runner.js +0 -1
- package/dist/skeleton-runner.js.map +0 -1
- package/dist/structure.json +0 -631
- package/dist/tag-pos.d.ts +0 -0
- package/dist/tag-pos.js +0 -1
- package/dist/tag-pos.js.map +0 -1
- package/dist/tag-type.d.ts +0 -0
- package/dist/tag-type.js +0 -1
- package/dist/tag-type.js.map +0 -1
- package/dist/tags.d.ts +0 -0
- package/dist/tags.js +0 -1
- package/dist/tags.js.map +0 -1
- package/dist/test/ascii-encoder.test.d.ts +0 -1
- package/dist/test/ascii-encoder.test.js +0 -508
- package/dist/test/ascii-encoder.test.js.map +0 -1
- package/dist/test/ascii-parser.test.d.ts +0 -1
- package/dist/test/ascii-parser.test.js +0 -123
- package/dist/test/ascii-parser.test.js.map +0 -1
- package/dist/test/ascii-segment.test.d.ts +0 -1
- package/dist/test/ascii-segment.test.js +0 -86
- package/dist/test/ascii-segment.test.js.map +0 -1
- package/dist/test/ascii-store-replay.test.d.ts +0 -1
- package/dist/test/ascii-store-replay.test.js +0 -92
- package/dist/test/ascii-store-replay.test.js.map +0 -1
- package/dist/test/ascii-tag-pos.test.d.ts +0 -1
- package/dist/test/ascii-tag-pos.test.js +0 -105
- package/dist/test/ascii-tag-pos.test.js.map +0 -1
- package/dist/test/execution-report.test.d.ts +0 -1
- package/dist/test/execution-report.test.js +0 -494
- package/dist/test/execution-report.test.js.map +0 -1
- package/dist/test/experiment.d.ts +0 -23
- package/dist/test/experiment.js +0 -33
- package/dist/test/experiment.js.map +0 -1
- package/dist/test/expieriment.d.ts +0 -23
- package/dist/test/expieriment.js +0 -33
- package/dist/test/expieriment.js.map +0 -1
- package/dist/test/fix-log-replay.test.d.ts +0 -1
- package/dist/test/fix-log-replay.test.js +0 -47
- package/dist/test/fix-log-replay.test.js.map +0 -1
- package/dist/test/fix-repo-dict.test.d.ts +0 -1
- package/dist/test/fix-repo-dict.test.js +0 -128
- package/dist/test/fix-repo-dict.test.js.map +0 -1
- package/dist/test/fixml-alloc-parse.test.d.ts +0 -1
- package/dist/test/fixml-alloc-parse.test.js +0 -161
- package/dist/test/fixml-alloc-parse.test.js.map +0 -1
- package/dist/test/fixml-mkt-data-fut-parse.test.d.ts +0 -1
- package/dist/test/fixml-mkt-data-fut-parse.test.js +0 -61
- package/dist/test/fixml-mkt-data-fut-parse.test.js.map +0 -1
- package/dist/test/fixml-mkt-data-settle-parse.test.d.ts +0 -1
- package/dist/test/fixml-mkt-data-settle-parse.test.js +0 -34
- package/dist/test/fixml-mkt-data-settle-parse.test.js.map +0 -1
- package/dist/test/fixml-tc-bi-lateral-parse.test.d.ts +0 -1
- package/dist/test/fixml-tc-bi-lateral-parse.test.js +0 -97
- package/dist/test/fixml-tc-bi-lateral-parse.test.js.map +0 -1
- package/dist/test/includes.test.d.ts +0 -1
- package/dist/test/includes.test.js +0 -43
- package/dist/test/includes.test.js.map +0 -1
- package/dist/test/logon.test.d.ts +0 -1
- package/dist/test/logon.test.js +0 -93
- package/dist/test/logon.test.js.map +0 -1
- package/dist/test/memory-store.test.d.ts +0 -1
- package/dist/test/memory-store.test.js +0 -78
- package/dist/test/memory-store.test.js.map +0 -1
- package/dist/test/qf-full-msg.test.d.ts +0 -1
- package/dist/test/qf-full-msg.test.js +0 -81
- package/dist/test/qf-full-msg.test.js.map +0 -1
- package/dist/test/repo-full-ascii-msg.test.d.ts +0 -1
- package/dist/test/repo-full-ascii-msg.test.js +0 -87
- package/dist/test/repo-full-ascii-msg.test.js.map +0 -1
- package/dist/test/repo-full-fixml-msg.test.d.ts +0 -1
- package/dist/test/repo-full-fixml-msg.test.js +0 -139
- package/dist/test/repo-full-fixml-msg.test.js.map +0 -1
- package/dist/test/session-state.test.d.ts +0 -1
- package/dist/test/session-state.test.js +0 -73
- package/dist/test/session-state.test.js.map +0 -1
- package/dist/test/session.test.d.ts +0 -1
- package/dist/test/session.test.js +0 -280
- package/dist/test/session.test.js.map +0 -1
- package/dist/test/setup.d.ts +0 -45
- package/dist/test/setup.js +0 -102
- package/dist/test/setup.js.map +0 -1
- package/dist/test/skeleton-runner.d.ts +0 -15
- package/dist/test/skeleton-runner.js +0 -108
- package/dist/test/skeleton-runner.js.map +0 -1
- package/dist/test/time-formatter.test.d.ts +0 -1
- package/dist/test/time-formatter.test.js +0 -80
- package/dist/test/time-formatter.test.js.map +0 -1
- package/dist/test/to-views.d.ts +0 -11
- package/dist/test/to-views.js +0 -56
- package/dist/test/to-views.js.map +0 -1
- package/dist/test/view-decode.test.d.ts +0 -1
- package/dist/test/view-decode.test.js +0 -183
- package/dist/test/view-decode.test.js.map +0 -1
- package/dist/time-formatter.test.d.ts +0 -0
- package/dist/time-formatter.test.js +0 -1
- package/dist/time-formatter.test.js.map +0 -1
- package/dist/to-views.d.ts +0 -0
- package/dist/to-views.js +0 -1
- package/dist/to-views.js.map +0 -1
- package/dist/token.txt +0 -248
- package/dist/transport/FixEntity.d.ts +0 -8
- package/dist/transport/FixEntity.js +0 -12
- package/dist/transport/FixEntity.js.map +0 -1
- package/dist/transport/a-session-msg-factory.d.ts +0 -23
- package/dist/transport/a-session-msg-factory.js +0 -58
- package/dist/transport/a-session-msg-factory.js.map +0 -1
- package/dist/transport/fix-msg-factory.d.ts +0 -15
- package/dist/transport/fix-msg-factory.js +0 -3
- package/dist/transport/fix-msg-factory.js.map +0 -1
- package/dist/transport/fix-session-state-args.d.ts +0 -8
- package/dist/transport/fix-session-state-args.js +0 -3
- package/dist/transport/fix-session-state-args.js.map +0 -1
- package/dist/transport/fix-session-state.d.ts +0 -32
- package/dist/transport/fix-session-state.js +0 -133
- package/dist/transport/fix-session-state.js.map +0 -1
- package/dist/transport/fix-session.d.ts +0 -50
- package/dist/transport/fix-session.js +0 -291
- package/dist/transport/fix-session.js.map +0 -1
- package/dist/transport/make-fix-session.d.ts +0 -5
- package/dist/transport/make-fix-session.js +0 -3
- package/dist/transport/make-fix-session.js.map +0 -1
- package/dist/transport/session-description.d.ts +0 -17
- package/dist/transport/session-description.js +0 -3
- package/dist/transport/session-description.js.map +0 -1
- package/dist/transport/session-msg-factory.d.ts +0 -15
- package/dist/transport/session-msg-factory.js +0 -3
- package/dist/transport/session-msg-factory.js.map +0 -1
- package/dist/transport/session-state.d.ts +0 -25
- package/dist/transport/session-state.js +0 -30
- package/dist/transport/session-state.js.map +0 -1
|
File without changes
|
package/dist/qf-full-msg.test.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=qf-full-msg.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qf-full-msg.test.js","sourceRoot":"","sources":["../src/test/qf-full-msg.test.ts"],"names":[],"mappings":"","sourcesContent":[""]}
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=repo-full-ascii-msg.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repo-full-ascii-msg.test.js","sourceRoot":"","sources":["../src/test/repo-full-ascii-msg.test.ts"],"names":[],"mappings":"","sourcesContent":[""]}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export declare enum DITokens {
|
|
2
|
-
IJsFixConfig = "IJsFixConfig",
|
|
3
|
-
FixSession = "FixSession",
|
|
4
|
-
JsFixLoggerFactory = "JsFixLoggerFactory",
|
|
5
|
-
ISessionDescription = "ISessionDescription",
|
|
6
|
-
ISessionMsgFactory = "ISessionMsgFactory",
|
|
7
|
-
MsgTransmitter = "MsgTransmitter",
|
|
8
|
-
MsgParser = "MsgParser",
|
|
9
|
-
IHttpAdapter = "IHttpAdapter",
|
|
10
|
-
FixDuplex = "FixDuplex",
|
|
11
|
-
FixEntity = "FixEntity",
|
|
12
|
-
Listener = "Listener",
|
|
13
|
-
Connector = "Connector",
|
|
14
|
-
Definitions = "Definitions",
|
|
15
|
-
sessionId = "sessionId",
|
|
16
|
-
maxMessageLen = "maxMessageLen",
|
|
17
|
-
readStream = "readStream",
|
|
18
|
-
duplexParam = "duplexParam",
|
|
19
|
-
maxMessageLocations = "maxMessageLocations"
|
|
20
|
-
}
|
package/dist/runtime/DITokens.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DITokens = void 0;
|
|
4
|
-
var DITokens;
|
|
5
|
-
(function (DITokens) {
|
|
6
|
-
DITokens["IJsFixConfig"] = "IJsFixConfig";
|
|
7
|
-
DITokens["FixSession"] = "FixSession";
|
|
8
|
-
DITokens["JsFixLoggerFactory"] = "JsFixLoggerFactory";
|
|
9
|
-
DITokens["ISessionDescription"] = "ISessionDescription";
|
|
10
|
-
DITokens["ISessionMsgFactory"] = "ISessionMsgFactory";
|
|
11
|
-
DITokens["MsgTransmitter"] = "MsgTransmitter";
|
|
12
|
-
DITokens["MsgParser"] = "MsgParser";
|
|
13
|
-
DITokens["IHttpAdapter"] = "IHttpAdapter";
|
|
14
|
-
DITokens["FixDuplex"] = "FixDuplex";
|
|
15
|
-
DITokens["FixEntity"] = "FixEntity";
|
|
16
|
-
DITokens["Listener"] = "Listener";
|
|
17
|
-
DITokens["Connector"] = "Connector";
|
|
18
|
-
DITokens["Definitions"] = "Definitions";
|
|
19
|
-
DITokens["sessionId"] = "sessionId";
|
|
20
|
-
DITokens["maxMessageLen"] = "maxMessageLen";
|
|
21
|
-
DITokens["readStream"] = "readStream";
|
|
22
|
-
DITokens["duplexParam"] = "duplexParam";
|
|
23
|
-
DITokens["maxMessageLocations"] = "maxMessageLocations";
|
|
24
|
-
})(DITokens = exports.DITokens || (exports.DITokens = {}));
|
|
25
|
-
//# sourceMappingURL=DITokens.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DITokens.js","sourceRoot":"","sources":["../../src/runtime/DITokens.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAmBX;AAnBD,WAAY,QAAQ;IAClB,yCAA6B,CAAA;IAC7B,qCAAyB,CAAA;IACzB,qDAAyC,CAAA;IACzC,uDAA2C,CAAA;IAC3C,qDAAyC,CAAA;IACzC,6CAAiC,CAAA;IACjC,mCAAuB,CAAA;IACvB,yCAA6B,CAAA;IAC7B,mCAAuB,CAAA;IACvB,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;IACrB,mCAAuB,CAAA;IACvB,uCAA2B,CAAA;IAC3B,mCAAuB,CAAA;IACvB,2CAA+B,CAAA;IAC/B,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,uDAA2C,CAAA;AAC7C,CAAC,EAnBW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAmBnB","sourcesContent":["export enum DITokens {\r\n IJsFixConfig = 'IJsFixConfig',\r\n FixSession = 'FixSession',\r\n JsFixLoggerFactory = 'JsFixLoggerFactory',\r\n ISessionDescription = 'ISessionDescription',\r\n ISessionMsgFactory = 'ISessionMsgFactory',\r\n MsgTransmitter = 'MsgTransmitter',\r\n MsgParser = 'MsgParser',\r\n IHttpAdapter = 'IHttpAdapter',\r\n FixDuplex = 'FixDuplex',\r\n FixEntity = 'FixEntity',\r\n Listener = 'Listener',\r\n Connector = 'Connector',\r\n Definitions = 'Definitions',\r\n sessionId = 'sessionId',\r\n maxMessageLen = 'maxMessageLen',\r\n readStream = 'readStream',\r\n duplexParam = 'duplexParam',\r\n maxMessageLocations = 'maxMessageLocations'\r\n}\r\n"]}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
import { IJsFixConfig, IJsFixLogger } from '../config';
|
|
3
|
-
import { ISessionDescription } from '../transport';
|
|
4
|
-
import { DependencyContainer } from 'tsyringe';
|
|
5
|
-
import { SessionContainer } from './index';
|
|
6
|
-
import { EngineFactory } from './engine-factory';
|
|
7
|
-
export declare abstract class SessionLauncher {
|
|
8
|
-
readonly initiatorConfig: string;
|
|
9
|
-
readonly acceptorConfig: string;
|
|
10
|
-
protected readonly logger: IJsFixLogger;
|
|
11
|
-
protected constructor(initiatorConfig: string, acceptorConfig?: string);
|
|
12
|
-
protected sessionContainer: SessionContainer;
|
|
13
|
-
private empty;
|
|
14
|
-
protected getAcceptor(sessionContainer: DependencyContainer): Promise<any>;
|
|
15
|
-
protected getInitiator(sessionContainer: DependencyContainer): Promise<any>;
|
|
16
|
-
protected makeFactory(config: IJsFixConfig): EngineFactory;
|
|
17
|
-
run(): Promise<any>;
|
|
18
|
-
exec(): void;
|
|
19
|
-
isAscii(description: ISessionDescription): boolean;
|
|
20
|
-
isInitiator(description: ISessionDescription): boolean;
|
|
21
|
-
protected registerApplication(sessionContainer: DependencyContainer): void;
|
|
22
|
-
private makeSystem;
|
|
23
|
-
private register;
|
|
24
|
-
private makeClient;
|
|
25
|
-
private makeServer;
|
|
26
|
-
private setup;
|
|
27
|
-
}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SessionLauncher = void 0;
|
|
13
|
-
require("reflect-metadata");
|
|
14
|
-
const path = require("path");
|
|
15
|
-
const config_1 = require("../config");
|
|
16
|
-
const index_1 = require("./index");
|
|
17
|
-
const root = '../../';
|
|
18
|
-
const logFactory = new config_1.JsFixWinstonLogFactory(config_1.WinstonLogger.consoleOptions('info'));
|
|
19
|
-
class SessionLauncher {
|
|
20
|
-
constructor(initiatorConfig, acceptorConfig = null) {
|
|
21
|
-
this.initiatorConfig = initiatorConfig;
|
|
22
|
-
this.acceptorConfig = acceptorConfig;
|
|
23
|
-
this.sessionContainer = new index_1.SessionContainer();
|
|
24
|
-
this.logger = logFactory.logger('launcher');
|
|
25
|
-
}
|
|
26
|
-
empty() {
|
|
27
|
-
return new Promise((resolve, _) => {
|
|
28
|
-
setImmediate(() => {
|
|
29
|
-
this.logger.info('resolving an empty promise');
|
|
30
|
-
resolve(null);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
getAcceptor(sessionContainer) {
|
|
35
|
-
if (sessionContainer.isRegistered(index_1.DITokens.FixEntity)) {
|
|
36
|
-
const entity = sessionContainer.resolve(index_1.DITokens.FixEntity);
|
|
37
|
-
return entity.start();
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
return this.empty();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
getInitiator(sessionContainer) {
|
|
44
|
-
if (sessionContainer.isRegistered(index_1.DITokens.FixEntity)) {
|
|
45
|
-
const entity = sessionContainer.resolve(index_1.DITokens.FixEntity);
|
|
46
|
-
return entity.start();
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return this.empty();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
makeFactory(config) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
run() {
|
|
56
|
-
return new Promise((accept, reject) => {
|
|
57
|
-
const logger = this.logger;
|
|
58
|
-
logger.info('launching ..');
|
|
59
|
-
this.setup().then(() => {
|
|
60
|
-
logger.info('.. done');
|
|
61
|
-
accept(true);
|
|
62
|
-
}).catch((e) => {
|
|
63
|
-
logger.error(e);
|
|
64
|
-
reject(e);
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
exec() {
|
|
69
|
-
this.run().then(() => {
|
|
70
|
-
console.log('finished.');
|
|
71
|
-
}).catch(e => {
|
|
72
|
-
console.error(e);
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
isAscii(description) {
|
|
76
|
-
return this.sessionContainer.isAscii(description);
|
|
77
|
-
}
|
|
78
|
-
isInitiator(description) {
|
|
79
|
-
return this.sessionContainer.isInitiator(description);
|
|
80
|
-
}
|
|
81
|
-
registerApplication(sessionContainer) {
|
|
82
|
-
this.logger.info('bypass register via DI');
|
|
83
|
-
}
|
|
84
|
-
makeSystem(description) {
|
|
85
|
-
this.logger.info(`creating app ${description.application.name} [protocol ${description.application.protocol}]`);
|
|
86
|
-
return this.sessionContainer.makeSystem(description);
|
|
87
|
-
}
|
|
88
|
-
register(container) {
|
|
89
|
-
const config = container.resolve(index_1.DITokens.IJsFixConfig);
|
|
90
|
-
const factory = this.makeFactory(config);
|
|
91
|
-
if (!factory) {
|
|
92
|
-
this.registerApplication(container);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
if (factory.makeSession) {
|
|
96
|
-
container.register(index_1.DITokens.FixSession, {
|
|
97
|
-
useFactory: () => factory.makeSession(config)
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
makeClient() {
|
|
103
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
const description = require(path.join(root, this.initiatorConfig));
|
|
105
|
-
const sessionContainer = yield this.makeSystem(description);
|
|
106
|
-
this.register(sessionContainer);
|
|
107
|
-
this.logger.info('create initiator');
|
|
108
|
-
return this.getInitiator(sessionContainer);
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
makeServer() {
|
|
112
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
-
const description = require(path.join(root, this.acceptorConfig));
|
|
114
|
-
const sessionContainer = yield this.makeSystem(description);
|
|
115
|
-
this.register(sessionContainer);
|
|
116
|
-
this.logger.info('create acceptor');
|
|
117
|
-
return this.getAcceptor(sessionContainer);
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
setup() {
|
|
121
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
122
|
-
this.sessionContainer.registerGlobal();
|
|
123
|
-
const server = this.initiatorConfig ? this.makeServer() : this.empty();
|
|
124
|
-
const client = this.acceptorConfig ? this.makeClient() : this.empty();
|
|
125
|
-
this.logger.info('launching ....');
|
|
126
|
-
return Promise.all([server, client]);
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
exports.SessionLauncher = SessionLauncher;
|
|
131
|
-
//# sourceMappingURL=app-launcher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-launcher.js","sourceRoot":"","sources":["../../src/runtime/app-launcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4BAAyB;AAEzB,6BAA4B;AAC5B,sCAA6F;AAG7F,mCAAoD;AAGpD,MAAM,IAAI,GAAG,QAAQ,CAAA;AACrB,MAAM,UAAU,GAAG,IAAI,+BAAsB,CAAC,sBAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;AAEnF,MAAsB,eAAe;IAEnC,YAAuC,eAAuB,EACvB,iBAAyB,IAAI;QAD7B,oBAAe,GAAf,eAAe,CAAQ;QACvB,mBAAc,GAAd,cAAc,CAAe;QAG1D,qBAAgB,GAAqB,IAAI,wBAAgB,EAAE,CAAA;QAFnE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC7C,CAAC;IAGO,KAAK;QACX,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YAChC,YAAY,CAAC,GAAG,EAAE;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;gBAC9C,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,WAAW,CAAE,gBAAqC;QAC1D,IAAI,gBAAgB,CAAC,YAAY,CAAY,gBAAQ,CAAC,SAAS,CAAC,EAAE;YAChE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAY,gBAAQ,CAAC,SAAS,CAAC,CAAA;YACtE,OAAO,MAAM,CAAC,KAAK,EAAE,CAAA;SACtB;aAAM;YACL,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;SACpB;IACH,CAAC;IAES,YAAY,CAAE,gBAAqC;QAC3D,IAAI,gBAAgB,CAAC,YAAY,CAAY,gBAAQ,CAAC,SAAS,CAAC,EAAE;YAChE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAY,gBAAQ,CAAC,SAAS,CAAC,CAAA;YACtE,OAAO,MAAM,CAAC,KAAK,EAAE,CAAA;SACtB;aAAM;YACL,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;SACpB;IACH,CAAC;IAES,WAAW,CAAE,MAAoB;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,GAAG;QACR,OAAO,IAAI,OAAO,CAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YAC1B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtB,MAAM,CAAC,IAAI,CAAC,CAAA;YACd,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;gBACpB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBACf,MAAM,CAAC,CAAC,CAAC,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,OAAO,CAAE,WAAgC;QAC9C,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACnD,CAAC;IAEM,WAAW,CAAE,WAAgC;QAClD,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IACvD,CAAC;IAES,mBAAmB,CAAE,gBAAqC;QAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IAC5C,CAAC;IAEO,UAAU,CAAE,WAAgC;QAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,WAAW,CAAC,IAAI,cAAc,WAAW,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAA;QAC/G,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IACtD,CAAC;IAEO,QAAQ,CAAE,SAA8B;QAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAe,gBAAQ,CAAC,YAAY,CAAC,CAAA;QACrE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAA;SACpC;aAAM;YACL,IAAI,OAAO,CAAC,WAAW,EAAE;gBACvB,SAAS,CAAC,QAAQ,CAAa,gBAAQ,CAAC,UAAU,EAAE;oBAClD,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;iBAC9C,CAAC,CAAA;aACH;SACF;IACH,CAAC;IAEa,UAAU;;YACtB,MAAM,WAAW,GAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;YACvF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;YAC3D,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YACpC,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAA;QAC5C,CAAC;KAAA;IAEa,UAAU;;YACtB,MAAM,WAAW,GAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;YACtF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;YAC3D,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YACnC,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;QAC3C,CAAC;KAAA;IAEa,KAAK;;YACjB,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAA;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAClC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACtC,CAAC;KAAA;CACF;AAnHD,0CAmHC","sourcesContent":["import 'reflect-metadata'\r\n\r\nimport * as path from 'path'\r\nimport { IJsFixConfig, IJsFixLogger, JsFixWinstonLogFactory, WinstonLogger } from '../config'\r\nimport { ISessionDescription, FixEntity, FixSession } from '../transport'\r\nimport { DependencyContainer } from 'tsyringe'\r\nimport { SessionContainer, DITokens } from './index'\r\nimport { EngineFactory } from './engine-factory'\r\n\r\nconst root = '../../'\r\nconst logFactory = new JsFixWinstonLogFactory(WinstonLogger.consoleOptions('info'))\r\n\r\nexport abstract class SessionLauncher {\r\n protected readonly logger: IJsFixLogger\r\n protected constructor (public readonly initiatorConfig: string,\r\n public readonly acceptorConfig: string = null) {\r\n this.logger = logFactory.logger('launcher')\r\n }\r\n protected sessionContainer: SessionContainer = new SessionContainer()\r\n\r\n private empty (): Promise<any> {\r\n return new Promise((resolve, _) => {\r\n setImmediate(() => {\r\n this.logger.info('resolving an empty promise')\r\n resolve(null)\r\n })\r\n })\r\n }\r\n\r\n protected getAcceptor (sessionContainer: DependencyContainer): Promise<any> {\r\n if (sessionContainer.isRegistered<FixEntity>(DITokens.FixEntity)) {\r\n const entity = sessionContainer.resolve<FixEntity>(DITokens.FixEntity)\r\n return entity.start()\r\n } else {\r\n return this.empty()\r\n }\r\n }\r\n\r\n protected getInitiator (sessionContainer: DependencyContainer): Promise<any> {\r\n if (sessionContainer.isRegistered<FixEntity>(DITokens.FixEntity)) {\r\n const entity = sessionContainer.resolve<FixEntity>(DITokens.FixEntity)\r\n return entity.start()\r\n } else {\r\n return this.empty()\r\n }\r\n }\r\n\r\n protected makeFactory (config: IJsFixConfig): EngineFactory {\r\n return null\r\n }\r\n\r\n public run () {\r\n return new Promise<any>((accept, reject) => {\r\n const logger = this.logger\r\n logger.info('launching ..')\r\n this.setup().then(() => {\r\n logger.info('.. done')\r\n accept(true)\r\n }).catch((e: Error) => {\r\n logger.error(e)\r\n reject(e)\r\n })\r\n })\r\n }\r\n\r\n public exec () {\r\n this.run().then(() => {\r\n console.log('finished.')\r\n }).catch(e => {\r\n console.error(e)\r\n })\r\n }\r\n\r\n public isAscii (description: ISessionDescription): boolean {\r\n return this.sessionContainer.isAscii(description)\r\n }\r\n\r\n public isInitiator (description: ISessionDescription): boolean {\r\n return this.sessionContainer.isInitiator(description)\r\n }\r\n\r\n protected registerApplication (sessionContainer: DependencyContainer): void {\r\n this.logger.info('bypass register via DI')\r\n }\r\n\r\n private makeSystem (description: ISessionDescription): Promise<DependencyContainer> {\r\n this.logger.info(`creating app ${description.application.name} [protocol ${description.application.protocol}]`)\r\n return this.sessionContainer.makeSystem(description)\r\n }\r\n\r\n private register (container: DependencyContainer): void {\r\n const config = container.resolve<IJsFixConfig>(DITokens.IJsFixConfig)\r\n const factory = this.makeFactory(config)\r\n if (!factory) {\r\n this.registerApplication(container)\r\n } else {\r\n if (factory.makeSession) {\r\n container.register<FixSession>(DITokens.FixSession, {\r\n useFactory: () => factory.makeSession(config)\r\n })\r\n }\r\n }\r\n }\r\n\r\n private async makeClient (): Promise<any> {\r\n const description: ISessionDescription = require(path.join(root, this.initiatorConfig))\r\n const sessionContainer = await this.makeSystem(description)\r\n this.register(sessionContainer)\r\n this.logger.info('create initiator')\r\n return this.getInitiator(sessionContainer)\r\n }\r\n\r\n private async makeServer (): Promise<any> {\r\n const description: ISessionDescription = require(path.join(root, this.acceptorConfig))\r\n const sessionContainer = await this.makeSystem(description)\r\n this.register(sessionContainer)\r\n this.logger.info('create acceptor')\r\n return this.getAcceptor(sessionContainer)\r\n }\r\n\r\n private async setup () {\r\n this.sessionContainer.registerGlobal()\r\n const server = this.initiatorConfig ? this.makeServer() : this.empty()\r\n const client = this.acceptorConfig ? this.makeClient() : this.empty()\r\n this.logger.info('launching ....')\r\n return Promise.all([server, client])\r\n }\r\n}\r\n"]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
import { IJsFixConfig, IJsFixLogger } from '../config';
|
|
3
|
-
import { ISessionDescription, MakeFixSession } from '../transport';
|
|
4
|
-
import { DependencyContainer } from 'tsyringe';
|
|
5
|
-
import { SessionContainer } from './index';
|
|
6
|
-
export interface EngineFactory {
|
|
7
|
-
makeSession: MakeFixSession;
|
|
8
|
-
}
|
|
9
|
-
export declare abstract class Launcher {
|
|
10
|
-
readonly initiatorConfig: string;
|
|
11
|
-
readonly acceptorConfig: string;
|
|
12
|
-
protected readonly logger: IJsFixLogger;
|
|
13
|
-
protected constructor(initiatorConfig: string, acceptorConfig?: string);
|
|
14
|
-
protected sessionContainer: SessionContainer;
|
|
15
|
-
private empty;
|
|
16
|
-
protected getAcceptor(sessionContainer: DependencyContainer): Promise<any>;
|
|
17
|
-
protected getInitiator(sessionContainer: DependencyContainer): Promise<any>;
|
|
18
|
-
protected makeFactory(config: IJsFixConfig): EngineFactory;
|
|
19
|
-
run(): Promise<any>;
|
|
20
|
-
exec(): void;
|
|
21
|
-
isAscii(description: ISessionDescription): boolean;
|
|
22
|
-
isInitiator(description: ISessionDescription): boolean;
|
|
23
|
-
protected registerApplication(sessionContainer: DependencyContainer): void;
|
|
24
|
-
private makeSystem;
|
|
25
|
-
private register;
|
|
26
|
-
private makeClient;
|
|
27
|
-
private makeServer;
|
|
28
|
-
private setup;
|
|
29
|
-
}
|
package/dist/runtime/launcher.js
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.Launcher = void 0;
|
|
13
|
-
require("reflect-metadata");
|
|
14
|
-
const path = require("path");
|
|
15
|
-
const config_1 = require("../config");
|
|
16
|
-
const index_1 = require("./index");
|
|
17
|
-
const root = '../../';
|
|
18
|
-
const logFactory = new config_1.JsFixWinstonLogFactory(config_1.WinstonLogger.consoleOptions('info'));
|
|
19
|
-
class Launcher {
|
|
20
|
-
constructor(initiatorConfig, acceptorConfig = null) {
|
|
21
|
-
this.initiatorConfig = initiatorConfig;
|
|
22
|
-
this.acceptorConfig = acceptorConfig;
|
|
23
|
-
this.sessionContainer = new index_1.SessionContainer();
|
|
24
|
-
this.logger = logFactory.logger('launcher');
|
|
25
|
-
}
|
|
26
|
-
empty() {
|
|
27
|
-
return new Promise((resolve, _) => {
|
|
28
|
-
setImmediate(() => {
|
|
29
|
-
this.logger.info('resolving an empty promise');
|
|
30
|
-
resolve(null);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
getAcceptor(sessionContainer) {
|
|
35
|
-
if (sessionContainer.isRegistered(index_1.DITokens.FixEntity)) {
|
|
36
|
-
const entity = sessionContainer.resolve(index_1.DITokens.FixEntity);
|
|
37
|
-
return entity.start();
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
return this.empty();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
getInitiator(sessionContainer) {
|
|
44
|
-
if (sessionContainer.isRegistered(index_1.DITokens.FixEntity)) {
|
|
45
|
-
const entity = sessionContainer.resolve(index_1.DITokens.FixEntity);
|
|
46
|
-
return entity.start();
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return this.empty();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
makeFactory(config) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
run() {
|
|
56
|
-
return new Promise((accept, reject) => {
|
|
57
|
-
const logger = this.logger;
|
|
58
|
-
logger.info('launching ..');
|
|
59
|
-
this.setup().then(() => {
|
|
60
|
-
logger.info('.. done');
|
|
61
|
-
accept(true);
|
|
62
|
-
}).catch((e) => {
|
|
63
|
-
logger.error(e);
|
|
64
|
-
reject(e);
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
exec() {
|
|
69
|
-
this.run().then(() => {
|
|
70
|
-
console.log('finished.');
|
|
71
|
-
}).catch(e => {
|
|
72
|
-
console.error(e);
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
isAscii(description) {
|
|
76
|
-
return this.sessionContainer.isAscii(description);
|
|
77
|
-
}
|
|
78
|
-
isInitiator(description) {
|
|
79
|
-
return this.sessionContainer.isInitiator(description);
|
|
80
|
-
}
|
|
81
|
-
registerApplication(sessionContainer) {
|
|
82
|
-
this.logger.info('bypass register via DI');
|
|
83
|
-
}
|
|
84
|
-
makeSystem(description) {
|
|
85
|
-
this.logger.info(`creating app ${description.application.name} [protocol ${description.application.protocol}]`);
|
|
86
|
-
return this.sessionContainer.makeSystem(description);
|
|
87
|
-
}
|
|
88
|
-
register(container) {
|
|
89
|
-
const config = container.resolve(index_1.DITokens.IJsFixConfig);
|
|
90
|
-
const factory = this.makeFactory(config);
|
|
91
|
-
if (!factory) {
|
|
92
|
-
this.registerApplication(container);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
if (factory.makeSession) {
|
|
96
|
-
container.register(index_1.DITokens.FixSession, {
|
|
97
|
-
useFactory: () => factory.makeSession(config)
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
makeClient() {
|
|
103
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
const description = require(path.join(root, this.initiatorConfig));
|
|
105
|
-
const sessionContainer = yield this.makeSystem(description);
|
|
106
|
-
this.register(sessionContainer);
|
|
107
|
-
this.logger.info('create initiator');
|
|
108
|
-
return this.getInitiator(sessionContainer);
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
makeServer() {
|
|
112
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
-
const description = require(path.join(root, this.acceptorConfig));
|
|
114
|
-
const sessionContainer = yield this.makeSystem(description);
|
|
115
|
-
this.register(sessionContainer);
|
|
116
|
-
this.logger.info('create acceptor');
|
|
117
|
-
return this.getAcceptor(sessionContainer);
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
setup() {
|
|
121
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
122
|
-
this.sessionContainer.registerGlobal();
|
|
123
|
-
const server = this.initiatorConfig ? this.makeServer() : this.empty();
|
|
124
|
-
const client = this.acceptorConfig ? this.makeClient() : this.empty();
|
|
125
|
-
this.logger.info('launching ....');
|
|
126
|
-
return Promise.all([server, client]);
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
exports.Launcher = Launcher;
|
|
131
|
-
//# sourceMappingURL=launcher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/runtime/launcher.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata'\r\n\r\nimport * as path from 'path'\r\nimport { IJsFixConfig, IJsFixLogger, JsFixWinstonLogFactory, WinstonLogger } from '../config'\r\nimport { ISessionDescription, FixEntity, MakeFixSession, FixSession } from '../transport'\r\nimport { DependencyContainer } from 'tsyringe'\r\nimport { SessionContainer, DITokens } from './index'\r\n\r\nconst root = '../../'\r\nconst logFactory = new JsFixWinstonLogFactory(WinstonLogger.consoleOptions('info'))\r\n\r\nexport interface EngineFactory {\r\n makeSession: MakeFixSession\r\n}\r\n\r\nexport abstract class Launcher {\r\n protected readonly logger: IJsFixLogger\r\n protected constructor (public readonly initiatorConfig: string,\r\n public readonly acceptorConfig: string = null) {\r\n this.logger = logFactory.logger('launcher')\r\n }\r\n protected sessionContainer: SessionContainer = new SessionContainer()\r\n\r\n private empty (): Promise<any> {\r\n return new Promise((resolve, _) => {\r\n setImmediate(() => {\r\n this.logger.info('resolving an empty promise')\r\n resolve(null)\r\n })\r\n })\r\n }\r\n\r\n protected getAcceptor (sessionContainer: DependencyContainer): Promise<any> {\r\n if (sessionContainer.isRegistered<FixEntity>(DITokens.FixEntity)) {\r\n const entity = sessionContainer.resolve<FixEntity>(DITokens.FixEntity)\r\n return entity.start()\r\n } else {\r\n return this.empty()\r\n }\r\n }\r\n\r\n protected getInitiator (sessionContainer: DependencyContainer): Promise<any> {\r\n if (sessionContainer.isRegistered<FixEntity>(DITokens.FixEntity)) {\r\n const entity = sessionContainer.resolve<FixEntity>(DITokens.FixEntity)\r\n return entity.start()\r\n } else {\r\n return this.empty()\r\n }\r\n }\r\n\r\n protected makeFactory (config: IJsFixConfig): EngineFactory {\r\n return null\r\n }\r\n\r\n public run () {\r\n return new Promise<any>((accept, reject) => {\r\n const logger = this.logger\r\n logger.info('launching ..')\r\n this.setup().then(() => {\r\n logger.info('.. done')\r\n accept(true)\r\n }).catch((e: Error) => {\r\n logger.error(e)\r\n reject(e)\r\n })\r\n })\r\n }\r\n\r\n public exec () {\r\n this.run().then(() => {\r\n console.log('finished.')\r\n }).catch(e => {\r\n console.error(e)\r\n })\r\n }\r\n\r\n public isAscii (description: ISessionDescription): boolean {\r\n return this.sessionContainer.isAscii(description)\r\n }\r\n\r\n public isInitiator (description: ISessionDescription): boolean {\r\n return this.sessionContainer.isInitiator(description)\r\n }\r\n\r\n protected registerApplication (sessionContainer: DependencyContainer): void {\r\n this.logger.info('bypass register via DI')\r\n }\r\n\r\n private makeSystem (description: ISessionDescription): Promise<DependencyContainer> {\r\n this.logger.info(`creating app ${description.application.name} [protocol ${description.application.protocol}]`)\r\n return this.sessionContainer.makeSystem(description)\r\n }\r\n\r\n private register (container: DependencyContainer): void {\r\n const config = container.resolve<IJsFixConfig>(DITokens.IJsFixConfig)\r\n const factory = this.makeFactory(config)\r\n if (!factory) {\r\n this.registerApplication(container)\r\n } else {\r\n if (factory.makeSession) {\r\n container.register<FixSession>(DITokens.FixSession, {\r\n useFactory: () => factory.makeSession(config)\r\n })\r\n }\r\n }\r\n }\r\n\r\n private async makeClient (): Promise<any> {\r\n const description: ISessionDescription = require(path.join(root, this.initiatorConfig))\r\n const sessionContainer = await this.makeSystem(description)\r\n this.register(sessionContainer)\r\n this.logger.info('create initiator')\r\n return this.getInitiator(sessionContainer)\r\n }\r\n\r\n private async makeServer (): Promise<any> {\r\n const description: ISessionDescription = require(path.join(root, this.acceptorConfig))\r\n const sessionContainer = await this.makeSystem(description)\r\n this.register(sessionContainer)\r\n this.logger.info('create acceptor')\r\n return this.getAcceptor(sessionContainer)\r\n }\r\n\r\n private async setup () {\r\n this.sessionContainer.registerGlobal()\r\n const server = this.initiatorConfig ? this.makeServer() : this.empty()\r\n const client = this.acceptorConfig ? this.makeClient() : this.empty()\r\n this.logger.info('launching ....')\r\n return Promise.all([server, client])\r\n }\r\n}\r\n"]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
import { IJsFixConfig, IJsFixLogger } from '../config';
|
|
3
|
-
import { ISessionDescription, MakeFixSession } from '../transport';
|
|
4
|
-
import { DependencyContainer } from 'tsyringe';
|
|
5
|
-
import { SessionContainer } from '../runtime';
|
|
6
|
-
export interface EngineFactory {
|
|
7
|
-
makeSession: MakeFixSession;
|
|
8
|
-
}
|
|
9
|
-
export declare abstract class Launcher {
|
|
10
|
-
readonly initiatorConfig: string;
|
|
11
|
-
readonly acceptorConfig: string;
|
|
12
|
-
protected readonly logger: IJsFixLogger;
|
|
13
|
-
protected constructor(initiatorConfig: string, acceptorConfig?: string);
|
|
14
|
-
protected sessionContainer: SessionContainer;
|
|
15
|
-
private empty;
|
|
16
|
-
protected getAcceptor(sessionContainer: DependencyContainer): Promise<any>;
|
|
17
|
-
protected getInitiator(sessionContainer: DependencyContainer): Promise<any>;
|
|
18
|
-
protected makeFactory(config: IJsFixConfig): EngineFactory;
|
|
19
|
-
run(): Promise<any>;
|
|
20
|
-
exec(): void;
|
|
21
|
-
isAscii(description: ISessionDescription): boolean;
|
|
22
|
-
isInitiator(description: ISessionDescription): boolean;
|
|
23
|
-
protected registerApplication(sessionContainer: DependencyContainer): void;
|
|
24
|
-
private makeSystem;
|
|
25
|
-
private register;
|
|
26
|
-
private makeClient;
|
|
27
|
-
private makeServer;
|
|
28
|
-
private setup;
|
|
29
|
-
}
|
package/dist/sample/launcher.js
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.Launcher = void 0;
|
|
13
|
-
require("reflect-metadata");
|
|
14
|
-
const path = require("path");
|
|
15
|
-
const config_1 = require("../config");
|
|
16
|
-
const runtime_1 = require("../runtime");
|
|
17
|
-
const root = '../../';
|
|
18
|
-
const logFactory = new config_1.JsFixWinstonLogFactory(config_1.WinstonLogger.consoleOptions('info'));
|
|
19
|
-
class Launcher {
|
|
20
|
-
constructor(initiatorConfig, acceptorConfig = null) {
|
|
21
|
-
this.initiatorConfig = initiatorConfig;
|
|
22
|
-
this.acceptorConfig = acceptorConfig;
|
|
23
|
-
this.sessionContainer = new runtime_1.SessionContainer();
|
|
24
|
-
this.logger = logFactory.logger('launcher');
|
|
25
|
-
}
|
|
26
|
-
empty() {
|
|
27
|
-
return new Promise((resolve, _) => {
|
|
28
|
-
setImmediate(() => {
|
|
29
|
-
this.logger.info('resolving an empty promise');
|
|
30
|
-
resolve(null);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
getAcceptor(sessionContainer) {
|
|
35
|
-
if (sessionContainer.isRegistered(runtime_1.DITokens.FixEntity)) {
|
|
36
|
-
const entity = sessionContainer.resolve(runtime_1.DITokens.FixEntity);
|
|
37
|
-
return entity.start();
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
return this.empty();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
getInitiator(sessionContainer) {
|
|
44
|
-
if (sessionContainer.isRegistered(runtime_1.DITokens.FixEntity)) {
|
|
45
|
-
const entity = sessionContainer.resolve(runtime_1.DITokens.FixEntity);
|
|
46
|
-
return entity.start();
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return this.empty();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
makeFactory(config) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
run() {
|
|
56
|
-
return new Promise((accept, reject) => {
|
|
57
|
-
const logger = this.logger;
|
|
58
|
-
logger.info('launching ..');
|
|
59
|
-
this.setup().then(() => {
|
|
60
|
-
logger.info('.. done');
|
|
61
|
-
accept(true);
|
|
62
|
-
}).catch((e) => {
|
|
63
|
-
logger.error(e);
|
|
64
|
-
reject(e);
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
exec() {
|
|
69
|
-
this.run().then(() => {
|
|
70
|
-
console.log('finished.');
|
|
71
|
-
}).catch(e => {
|
|
72
|
-
console.error(e);
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
isAscii(description) {
|
|
76
|
-
return this.sessionContainer.isAscii(description);
|
|
77
|
-
}
|
|
78
|
-
isInitiator(description) {
|
|
79
|
-
return this.sessionContainer.isInitiator(description);
|
|
80
|
-
}
|
|
81
|
-
registerApplication(sessionContainer) {
|
|
82
|
-
this.logger.info('bypass register via DI');
|
|
83
|
-
}
|
|
84
|
-
makeSystem(description) {
|
|
85
|
-
this.logger.info(`creating app ${description.application.name} [protocol ${description.application.protocol}]`);
|
|
86
|
-
return this.sessionContainer.makeSystem(description);
|
|
87
|
-
}
|
|
88
|
-
register(container) {
|
|
89
|
-
const config = container.resolve(runtime_1.DITokens.IJsFixConfig);
|
|
90
|
-
const factory = this.makeFactory(config);
|
|
91
|
-
if (!factory) {
|
|
92
|
-
this.registerApplication(container);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
if (factory.makeSession) {
|
|
96
|
-
container.register(runtime_1.DITokens.FixSession, {
|
|
97
|
-
useFactory: () => factory.makeSession(config)
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
makeClient() {
|
|
103
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
const description = require(path.join(root, this.initiatorConfig));
|
|
105
|
-
const sessionContainer = yield this.makeSystem(description);
|
|
106
|
-
this.register(sessionContainer);
|
|
107
|
-
this.logger.info('create initiator');
|
|
108
|
-
return this.getInitiator(sessionContainer);
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
makeServer() {
|
|
112
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
-
const description = require(path.join(root, this.acceptorConfig));
|
|
114
|
-
const sessionContainer = yield this.makeSystem(description);
|
|
115
|
-
this.register(sessionContainer);
|
|
116
|
-
this.logger.info('create acceptor');
|
|
117
|
-
return this.getAcceptor(sessionContainer);
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
setup() {
|
|
121
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
122
|
-
this.sessionContainer.registerGlobal();
|
|
123
|
-
const server = this.initiatorConfig ? this.makeServer() : this.empty();
|
|
124
|
-
const client = this.acceptorConfig ? this.makeClient() : this.empty();
|
|
125
|
-
this.logger.info('launching ....');
|
|
126
|
-
return Promise.all([server, client]);
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
exports.Launcher = Launcher;
|
|
131
|
-
//# sourceMappingURL=launcher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/sample/launcher.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata'\r\n\r\nimport * as path from 'path'\r\nimport { IJsFixConfig, IJsFixLogger, JsFixWinstonLogFactory, WinstonLogger } from '../config'\r\nimport { ISessionDescription, FixEntity, MakeFixSession, FixSession } from '../transport'\r\nimport { DependencyContainer } from 'tsyringe'\r\nimport { SessionContainer, DITokens } from '../runtime'\r\n\r\nconst root = '../../'\r\nconst logFactory = new JsFixWinstonLogFactory(WinstonLogger.consoleOptions('info'))\r\n\r\nexport interface EngineFactory {\r\n makeSession: MakeFixSession\r\n}\r\n\r\nexport abstract class Launcher {\r\n protected readonly logger: IJsFixLogger\r\n protected constructor (public readonly initiatorConfig: string,\r\n public readonly acceptorConfig: string = null) {\r\n this.logger = logFactory.logger('launcher')\r\n }\r\n protected sessionContainer: SessionContainer = new SessionContainer()\r\n\r\n private empty (): Promise<any> {\r\n return new Promise((resolve, _) => {\r\n setImmediate(() => {\r\n this.logger.info('resolving an empty promise')\r\n resolve(null)\r\n })\r\n })\r\n }\r\n\r\n protected getAcceptor (sessionContainer: DependencyContainer): Promise<any> {\r\n if (sessionContainer.isRegistered<FixEntity>(DITokens.FixEntity)) {\r\n const entity = sessionContainer.resolve<FixEntity>(DITokens.FixEntity)\r\n return entity.start()\r\n } else {\r\n return this.empty()\r\n }\r\n }\r\n\r\n protected getInitiator (sessionContainer: DependencyContainer): Promise<any> {\r\n if (sessionContainer.isRegistered<FixEntity>(DITokens.FixEntity)) {\r\n const entity = sessionContainer.resolve<FixEntity>(DITokens.FixEntity)\r\n return entity.start()\r\n } else {\r\n return this.empty()\r\n }\r\n }\r\n\r\n protected makeFactory (config: IJsFixConfig): EngineFactory {\r\n return null\r\n }\r\n\r\n public run () {\r\n return new Promise<any>((accept, reject) => {\r\n const logger = this.logger\r\n logger.info('launching ..')\r\n this.setup().then(() => {\r\n logger.info('.. done')\r\n accept(true)\r\n }).catch((e: Error) => {\r\n logger.error(e)\r\n reject(e)\r\n })\r\n })\r\n }\r\n\r\n public exec () {\r\n this.run().then(() => {\r\n console.log('finished.')\r\n }).catch(e => {\r\n console.error(e)\r\n })\r\n }\r\n\r\n public isAscii (description: ISessionDescription): boolean {\r\n return this.sessionContainer.isAscii(description)\r\n }\r\n\r\n public isInitiator (description: ISessionDescription): boolean {\r\n return this.sessionContainer.isInitiator(description)\r\n }\r\n\r\n protected registerApplication (sessionContainer: DependencyContainer): void {\r\n this.logger.info('bypass register via DI')\r\n }\r\n\r\n private makeSystem (description: ISessionDescription): Promise<DependencyContainer> {\r\n this.logger.info(`creating app ${description.application.name} [protocol ${description.application.protocol}]`)\r\n return this.sessionContainer.makeSystem(description)\r\n }\r\n\r\n private register (container: DependencyContainer): void {\r\n const config = container.resolve<IJsFixConfig>(DITokens.IJsFixConfig)\r\n const factory = this.makeFactory(config)\r\n if (!factory) {\r\n this.registerApplication(container)\r\n } else {\r\n if (factory.makeSession) {\r\n container.register<FixSession>(DITokens.FixSession, {\r\n useFactory: () => factory.makeSession(config)\r\n })\r\n }\r\n }\r\n }\r\n\r\n private async makeClient (): Promise<any> {\r\n const description: ISessionDescription = require(path.join(root, this.initiatorConfig))\r\n const sessionContainer = await this.makeSystem(description)\r\n this.register(sessionContainer)\r\n this.logger.info('create initiator')\r\n return this.getInitiator(sessionContainer)\r\n }\r\n\r\n private async makeServer (): Promise<any> {\r\n const description: ISessionDescription = require(path.join(root, this.acceptorConfig))\r\n const sessionContainer = await this.makeSystem(description)\r\n this.register(sessionContainer)\r\n this.logger.info('create acceptor')\r\n return this.getAcceptor(sessionContainer)\r\n }\r\n\r\n private async setup () {\r\n this.sessionContainer.registerGlobal()\r\n const server = this.initiatorConfig ? this.makeServer() : this.empty()\r\n const client = this.acceptorConfig ? this.makeClient() : this.empty()\r\n this.logger.info('launching ....')\r\n return Promise.all([server, client])\r\n }\r\n}\r\n"]}
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=app-launher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-launher.js","sourceRoot":"","sources":["../../../../src/sample/tcp/trade-capture/app-launher.ts"],"names":[],"mappings":"","sourcesContent":[""]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
8=FIX4.4|9=0000117|35=A|49=init-comp|56=accept-comp|34=1|57=fix|52=20211227-11:42:01.117|98=0|108=30|141=Y|553=js-client|554=pwd-client|10=229|
|
|
2
|
-
8=FIX4.4|9=0000117|35=A|49=init-comp|56=accept-comp|34=1|57=fix|52=20211227-11:50:59.211|98=0|108=30|141=Y|553=js-client|554=pwd-client|10=236|
|
|
3
|
-
8=FIX4.4|9=0000117|35=A|49=accept-comp|56=init-comp|34=1|57=fix|52=20211227-11:50:59.310|98=0|108=30|141=Y|553=js-server|554=pwd-server|10=028|
|
|
4
|
-
8=FIX4.4|9=0000154|35=AD|49=init-comp|56=accept-comp|34=2|57=fix|52=20211227-11:50:59.365|568=all-trades|569=0|263=1|580=2|60=20211227-11:50:59.355|60=20211228-11:50:59.355|10=095|
|
|
5
|
-
8=FIX4.4|9=0000104|35=AQ|49=accept-comp|56=init-comp|34=2|57=fix|52=20211227-11:50:59.405|568=all-trades|569=0|749=0|750=0|10=186|
|
|
6
|
-
8=FIX4.4|9=0000204|35=AE|49=accept-comp|56=init-comp|34=3|57=fix|52=20211227-11:50:59.409|571=100000|487=0|856=0|828=0|17=600000|39=2|570=N|55=Magnesium|48=Magnesium.INC|32=176|31=22.93|75=20211227|60=20211227-11:50:59.408|10=081|
|
|
7
|
-
8=FIX4.4|9=0000202|35=AE|49=accept-comp|56=init-comp|34=4|57=fix|52=20211227-11:50:59.413|571=100001|487=0|856=0|828=0|17=600001|39=2|570=N|55=Platinum|48=Platinum.INC|32=177|31=24.19|75=20211227|60=20211227-11:50:59.408|10=150|
|
|
8
|
-
8=FIX4.4|9=0000202|35=AE|49=accept-comp|56=init-comp|34=5|57=fix|52=20211227-11:50:59.418|571=100002|487=0|856=0|828=0|17=600002|39=2|570=N|55=Platinum|48=Platinum.INC|32=142|31=39.76|75=20211227|60=20211227-11:50:59.408|10=159|
|
|
9
|
-
8=FIX4.4|9=0000202|35=AE|49=accept-comp|56=init-comp|34=6|57=fix|52=20211227-11:50:59.421|571=100003|487=0|856=0|828=0|17=600003|39=2|570=N|55=Platinum|48=Platinum.INC|32=154|31=58.25|75=20211227|60=20211227-11:50:59.409|10=155|
|
|
10
|
-
8=FIX4.4|9=0000198|35=AE|49=accept-comp|56=init-comp|34=7|57=fix|52=20211227-11:50:59.423|571=100004|487=0|856=0|828=0|17=600004|39=2|570=N|55=Silver|48=Silver.INC|32=116|31=93.46|75=20211227|60=20211227-11:50:59.409|10=004|
|
|
11
|
-
8=FIX4.4|9=0000104|35=AQ|49=accept-comp|56=init-comp|34=8|57=fix|52=20211227-11:50:59.426|568=all-trades|569=0|749=0|750=1|10=196|
|