jspurefix 1.4.1 → 2.0.0
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 +3 -0
- package/data/session/certs/ca/ca.crt +33 -0
- package/data/session/certs/ca/ca.key +54 -0
- package/data/session/certs/client/client.crt +31 -0
- package/data/session/certs/client/client.key +51 -0
- package/data/session/certs/server/server.crt +31 -0
- package/data/session/certs/server/server.key +51 -0
- package/dist/a-session-msg-factory.d.ts +0 -0
- package/dist/a-session-msg-factory.js +1 -0
- package/dist/a-session-msg-factory.js.map +1 -0
- package/dist/ascii-encoder.test.d.ts +0 -0
- package/dist/ascii-encoder.test.js +1 -0
- package/dist/ascii-encoder.test.js.map +1 -0
- package/dist/ascii-parser.test.d.ts +0 -0
- package/dist/ascii-parser.test.js +1 -0
- package/dist/ascii-parser.test.js.map +1 -0
- package/dist/ascii-segment.test.d.ts +0 -0
- package/dist/ascii-segment.test.js +1 -0
- package/dist/ascii-segment.test.js.map +1 -0
- package/dist/ascii-store-replay.test.d.ts +0 -0
- package/dist/ascii-store-replay.test.js +1 -0
- package/dist/ascii-store-replay.test.js.map +1 -0
- package/dist/ascii-tag-pos.test.d.ts +0 -0
- package/dist/ascii-tag-pos.test.js +1 -0
- package/dist/ascii-tag-pos.test.js.map +1 -0
- package/dist/buffer/{ascii-chars.d.ts → ascii/ascii-chars.d.ts} +0 -0
- package/dist/buffer/{ascii-chars.js → ascii/ascii-chars.js} +0 -0
- package/dist/buffer/ascii/ascii-chars.js.map +1 -0
- package/dist/buffer/ascii/ascii-encoder.d.ts +4 -2
- package/dist/buffer/ascii/ascii-encoder.js +54 -32
- package/dist/buffer/ascii/ascii-encoder.js.map +1 -1
- package/dist/buffer/ascii/ascii-parser-state.d.ts +3 -10
- package/dist/buffer/ascii/ascii-parser-state.js +37 -25
- package/dist/buffer/ascii/ascii-parser-state.js.map +1 -1
- package/dist/buffer/ascii/ascii-parser.d.ts +7 -7
- package/dist/buffer/ascii/ascii-parser.js +50 -24
- package/dist/buffer/ascii/ascii-parser.js.map +1 -1
- package/dist/buffer/ascii/ascii-segment-parser.d.ts +2 -2
- package/dist/buffer/ascii/ascii-segment-parser.js +34 -13
- package/dist/buffer/ascii/ascii-segment-parser.js.map +1 -1
- package/dist/buffer/ascii/ascii-view.d.ts +2 -4
- package/dist/buffer/ascii/ascii-view.js +11 -15
- package/dist/buffer/ascii/ascii-view.js.map +1 -1
- package/dist/buffer/ascii/index.d.ts +1 -0
- package/dist/buffer/ascii/index.js +1 -0
- package/dist/buffer/ascii/index.js.map +1 -1
- package/dist/buffer/ascii/parse-state.d.ts +8 -0
- package/dist/buffer/ascii/parse-state.js +13 -0
- package/dist/buffer/ascii/parse-state.js.map +1 -0
- package/dist/buffer/ascii/time-formatter.js +1 -1
- package/dist/buffer/ascii/time-formatter.js.map +1 -1
- package/dist/buffer/elastic-buffer.js +29 -8
- package/dist/buffer/elastic-buffer.js.map +1 -1
- package/dist/buffer/encode-proxy.d.ts +1 -1
- package/dist/buffer/encode-proxy.js +16 -17
- package/dist/buffer/encode-proxy.js.map +1 -1
- package/dist/buffer/fixml/fixml-encoder.d.ts +2 -1
- package/dist/buffer/fixml/fixml-encoder.js +43 -20
- package/dist/buffer/fixml/fixml-encoder.js.map +1 -1
- package/dist/buffer/fixml/fixml-parser.js +47 -24
- package/dist/buffer/fixml/fixml-parser.js.map +1 -1
- package/dist/buffer/fixml/fixml-view.d.ts +2 -4
- package/dist/buffer/fixml/fixml-view.js +13 -16
- package/dist/buffer/fixml/fixml-view.js.map +1 -1
- package/dist/buffer/fixml/populated-attributes.d.ts +5 -0
- package/dist/buffer/fixml/populated-attributes.js +3 -0
- package/dist/buffer/fixml/populated-attributes.js.map +1 -0
- package/dist/buffer/index.d.ts +4 -8
- package/dist/buffer/index.js +4 -8
- package/dist/buffer/index.js.map +1 -1
- package/dist/buffer/msg-encoder.d.ts +2 -1
- package/dist/buffer/msg-encoder.js.map +1 -1
- package/dist/buffer/msg-view.d.ts +3 -5
- package/dist/buffer/msg-view.js +8 -5
- package/dist/buffer/msg-view.js.map +1 -1
- package/dist/buffer/segment/segment-description.d.ts +26 -0
- package/dist/buffer/segment/segment-description.js +72 -0
- package/dist/buffer/segment/segment-description.js.map +1 -0
- package/dist/buffer/segment/segment-summary.d.ts +13 -0
- package/dist/buffer/segment/segment-summary.js +20 -0
- package/dist/buffer/segment/segment-summary.js.map +1 -0
- package/dist/buffer/segment/segment-type.d.ts +8 -0
- package/dist/buffer/segment/segment-type.js +13 -0
- package/dist/buffer/segment/segment-type.js.map +1 -0
- package/dist/buffer/segment-description.d.ts +2 -9
- package/dist/buffer/segment-description.js +5 -13
- package/dist/buffer/segment-description.js.map +1 -1
- package/dist/buffer/segment-type.d.ts +8 -0
- package/dist/buffer/segment-type.js +13 -0
- package/dist/buffer/segment-type.js.map +1 -0
- package/dist/buffer/structure.d.ts +3 -3
- package/dist/buffer/structure.js +1 -1
- package/dist/buffer/structure.js.map +1 -1
- package/dist/buffer/tag/tag-pos.d.ts +12 -0
- package/dist/buffer/tag/tag-pos.js +55 -0
- package/dist/buffer/tag/tag-pos.js.map +1 -0
- package/dist/buffer/tag/tag-type.d.ts +13 -0
- package/dist/buffer/tag/tag-type.js +18 -0
- package/dist/buffer/tag/tag-type.js.map +1 -0
- package/dist/buffer/tag/tags.d.ts +21 -0
- package/dist/buffer/tag/tags.js +122 -0
- package/dist/buffer/tag/tags.js.map +1 -0
- package/dist/buffer/tag-type.d.ts +13 -0
- package/dist/buffer/tag-type.js +18 -0
- package/dist/buffer/tag-type.js.map +1 -0
- package/dist/buffer/tags.d.ts +3 -14
- package/dist/buffer/tags.js +23 -36
- package/dist/buffer/tags.js.map +1 -1
- package/dist/config/get-js-fx-logger.d.ts +4 -0
- package/dist/{transport/make-fixl-session.js → config/get-js-fx-logger.js} +1 -1
- package/dist/config/get-js-fx-logger.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/js-fix-config.d.ts +4 -1
- package/dist/config/js-fix-config.js +3 -3
- package/dist/config/js-fix-config.js.map +1 -1
- package/dist/config/js-fix-logger.d.ts +0 -3
- package/dist/config/js-fix-logger.js.map +1 -1
- package/dist/dict-parser.js +28 -23
- package/dist/dict-parser.js.map +1 -1
- package/dist/dictionary/compiler/compiler-type.js +7 -7
- package/dist/dictionary/compiler/compiler-type.js.map +1 -1
- package/dist/dictionary/compiler/enum-compiler.d.ts +1 -0
- package/dist/dictionary/compiler/enum-compiler.js +11 -1
- package/dist/dictionary/compiler/enum-compiler.js.map +1 -1
- package/dist/dictionary/compiler/msg-compiler.js +8 -6
- package/dist/dictionary/compiler/msg-compiler.js.map +1 -1
- package/dist/dictionary/contained/contained-component-field.js +2 -1
- package/dist/dictionary/contained/contained-component-field.js.map +1 -1
- package/dist/dictionary/contained/contained-field-dispatch.d.ts +1 -14
- package/dist/dictionary/contained/contained-field-dispatch.js +4 -4
- package/dist/dictionary/contained/contained-field-dispatch.js.map +1 -1
- package/dist/dictionary/contained/contained-field-dispatcher.d.ts +14 -0
- package/dist/dictionary/contained/contained-field-dispatcher.js +3 -0
- package/dist/dictionary/contained/contained-field-dispatcher.js.map +1 -0
- package/dist/dictionary/contained/contained-field-set.d.ts +1 -1
- package/dist/dictionary/contained/contained-field-set.js +12 -11
- package/dist/dictionary/contained/contained-field-set.js.map +1 -1
- package/dist/dictionary/contained/contained-field-type.d.ts +5 -0
- package/dist/dictionary/contained/contained-field-type.js +10 -0
- package/dist/dictionary/contained/contained-field-type.js.map +1 -0
- package/dist/dictionary/contained/contained-field.d.ts +1 -5
- package/dist/dictionary/contained/contained-field.js +1 -7
- package/dist/dictionary/contained/contained-field.js.map +1 -1
- package/dist/dictionary/contained/contained-group-field.js +2 -1
- package/dist/dictionary/contained/contained-group-field.js.map +1 -1
- package/dist/dictionary/contained/contained-simple-field.js +2 -1
- package/dist/dictionary/contained/contained-simple-field.js.map +1 -1
- package/dist/dictionary/{fields-dispatch.d.ts → contained/field-dispatcher.d.ts} +3 -2
- package/dist/dictionary/contained/field-dispatcher.js +3 -0
- package/dist/dictionary/contained/field-dispatcher.js.map +1 -0
- package/dist/dictionary/contained/fields-dispatch.d.ts +6 -0
- package/dist/dictionary/contained/fields-dispatch.js +42 -0
- package/dist/dictionary/contained/fields-dispatch.js.map +1 -0
- package/dist/dictionary/contained/index.d.ts +2 -0
- package/dist/dictionary/contained/index.js +2 -0
- package/dist/dictionary/contained/index.js.map +1 -1
- package/dist/dictionary/contained-set-type.d.ts +5 -0
- package/dist/dictionary/contained-set-type.js +10 -0
- package/dist/dictionary/contained-set-type.js.map +1 -0
- package/dist/dictionary/definition/component-field-definition.js +2 -2
- package/dist/dictionary/definition/component-field-definition.js.map +1 -1
- package/dist/dictionary/definition/fix-definitions.d.ts +2 -1
- package/dist/dictionary/definition/fix-definitions.js.map +1 -1
- package/dist/dictionary/definition/group-field-definition.js +2 -2
- package/dist/dictionary/definition/group-field-definition.js.map +1 -1
- package/dist/dictionary/definition/index.d.ts +0 -1
- package/dist/dictionary/definition/index.js +0 -1
- package/dist/dictionary/definition/index.js.map +1 -1
- package/dist/dictionary/definition/message-definition.js +2 -2
- package/dist/dictionary/definition/message-definition.js.map +1 -1
- package/dist/dictionary/definition/simple-field-definition.d.ts +1 -1
- package/dist/dictionary/definition/simple-field-definition.js +5 -4
- package/dist/dictionary/definition/simple-field-definition.js.map +1 -1
- package/dist/dictionary/dict-primitive.d.ts +0 -11
- package/dist/dictionary/dict-primitive.js +0 -7
- package/dist/dictionary/dict-primitive.js.map +1 -1
- package/dist/dictionary/fix-definition-source.d.ts +6 -0
- package/dist/dictionary/fix-definition-source.js +11 -0
- package/dist/dictionary/fix-definition-source.js.map +1 -0
- package/dist/dictionary/fix-versions.d.ts +0 -9
- package/dist/dictionary/fix-versions.js +1 -39
- package/dist/dictionary/fix-versions.js.map +1 -1
- package/dist/dictionary/index.d.ts +1 -5
- package/dist/dictionary/index.js +1 -5
- package/dist/dictionary/index.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/abbreviations-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/abbreviations-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/abbreviations-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/base-parser.d.ts +2 -4
- package/dist/dictionary/parser/fix-repository/base-parser.js +1 -2
- package/dist/dictionary/parser/fix-repository/base-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/components-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/components-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/components-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/data-types-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/data-types-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/data-types-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/enums-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/enums-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/enums-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/fields-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/fields-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/fields-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/messages-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/messages-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/messages-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/msg-contents-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/msg-contents-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/msg-contents-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/repository-abbreviation.d.ts +5 -0
- package/dist/dictionary/parser/fix-repository/repository-abbreviation.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-abbreviation.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-component.d.ts +10 -0
- package/dist/dictionary/parser/fix-repository/repository-component.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-component.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-data-type.d.ts +6 -0
- package/dist/dictionary/parser/fix-repository/repository-data-type.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-data-type.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-enum.d.ts +7 -0
- package/dist/dictionary/parser/fix-repository/repository-enum.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-enum.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-field.d.ts +11 -0
- package/dist/dictionary/parser/fix-repository/repository-field.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-field.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-message.d.ts +11 -0
- package/dist/dictionary/parser/fix-repository/repository-message.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-message.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-msg-content.d.ts +9 -0
- package/dist/dictionary/parser/fix-repository/repository-msg-content.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-msg-content.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-msg.d.ts +0 -0
- package/dist/dictionary/parser/fix-repository/repository-msg.js +1 -0
- package/dist/dictionary/parser/fix-repository/repository-msg.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-type.d.ts +0 -53
- package/dist/dictionary/parser/fix-repository/repository-type.js +0 -2
- package/dist/dictionary/parser/fix-repository/repository-type.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/repository-xml-parser.js +10 -10
- package/dist/dictionary/parser/fix-repository/repository-xml-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/repository.d.ts +12 -1
- package/dist/dictionary/parser/fix-repository/repository.js +50 -28
- package/dist/dictionary/parser/fix-repository/repository.js.map +1 -1
- package/dist/dictionary/parser/fixml/components-parser.d.ts +1 -1
- package/dist/dictionary/parser/fixml/components-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/fields-parser.d.ts +1 -1
- package/dist/dictionary/parser/fixml/fields-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/fix-xsd-parser.js +3 -2
- package/dist/dictionary/parser/fixml/fix-xsd-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/include-graph.js.map +1 -1
- package/dist/dictionary/parser/fixml/xsd-parser.d.ts +1 -1
- package/dist/dictionary/parser/fixml/xsd-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/field-definition-parser.d.ts +4 -4
- package/dist/dictionary/parser/quickfix/field-definition-parser.js +3 -3
- package/dist/dictionary/parser/quickfix/field-definition-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/field-set-parser.d.ts +4 -4
- package/dist/dictionary/parser/quickfix/field-set-parser.js +3 -3
- package/dist/dictionary/parser/quickfix/field-set-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/message-parser.d.ts +4 -4
- package/dist/dictionary/parser/quickfix/message-parser.js +3 -3
- package/dist/dictionary/parser/quickfix/message-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/node-parser.d.ts +4 -5
- package/dist/dictionary/parser/quickfix/node-parser.js +4 -4
- package/dist/dictionary/parser/quickfix/node-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/parse-state.d.ts +8 -0
- package/dist/dictionary/parser/quickfix/parse-state.js +13 -0
- package/dist/dictionary/parser/quickfix/parse-state.js.map +1 -0
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.d.ts +1 -9
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js +28 -35
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js.map +1 -1
- package/dist/dictionary/sax-node.d.ts +6 -0
- package/dist/{types/FIX4.4/quickfix/set/header.js → dictionary/sax-node.js} +1 -1
- package/dist/dictionary/sax-node.js.map +1 -0
- package/dist/dictionary/set-reduce.d.ts +5 -12
- package/dist/dictionary/set-reduce.js +28 -26
- package/dist/dictionary/set-reduce.js.map +1 -1
- package/dist/dictionary/type-dispatcher.d.ts +12 -0
- package/dist/dictionary/type-dispatcher.js +3 -0
- package/dist/dictionary/type-dispatcher.js.map +1 -0
- package/dist/dictionary/version-util.d.ts +4 -0
- package/dist/dictionary/version-util.js +36 -0
- package/dist/dictionary/version-util.js.map +1 -0
- package/dist/execution-report.test.d.ts +0 -0
- package/dist/execution-report.test.js +1 -0
- package/dist/execution-report.test.js.map +1 -0
- package/dist/experiment.d.ts +0 -0
- package/dist/experiment.js +1 -0
- package/dist/experiment.js.map +1 -0
- package/dist/fix-repo-dict.test.d.ts +0 -0
- package/dist/fix-repo-dict.test.js +1 -0
- package/dist/fix-repo-dict.test.js.map +1 -0
- package/dist/fix-session-state-args.d.ts +0 -0
- package/dist/fix-session-state-args.js +1 -0
- package/dist/fix-session-state-args.js.map +1 -0
- package/dist/fix-session-state.d.ts +0 -0
- package/dist/fix-session-state.js +1 -0
- package/dist/fix-session-state.js.map +1 -0
- package/dist/fix-session.d.ts +0 -0
- package/dist/fix-session.js +1 -0
- package/dist/fix-session.js.map +1 -0
- package/dist/fix.txt +1 -0
- package/dist/fixml-alloc-parse.test.d.ts +0 -0
- package/dist/fixml-alloc-parse.test.js +1 -0
- package/dist/fixml-alloc-parse.test.js.map +1 -0
- package/dist/fixml-mkt-data-fut-parse.test.d.ts +0 -0
- package/dist/fixml-mkt-data-fut-parse.test.js +1 -0
- package/dist/fixml-mkt-data-fut-parse.test.js.map +1 -0
- package/dist/fixml-mkt-data-settle-parse.test.d.ts +0 -0
- package/dist/fixml-mkt-data-settle-parse.test.js +1 -0
- package/dist/fixml-mkt-data-settle-parse.test.js.map +1 -0
- package/dist/fixml-tc-bi-lateral-parse.test.d.ts +0 -0
- package/dist/fixml-tc-bi-lateral-parse.test.js +1 -0
- package/dist/fixml-tc-bi-lateral-parse.test.js.map +1 -0
- package/dist/includes.test.d.ts +0 -0
- package/dist/includes.test.js +1 -0
- package/dist/includes.test.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/jsfix-cmd.d.ts +5 -0
- package/dist/jsfix-cmd.js +28 -21
- package/dist/jsfix-cmd.js.map +1 -1
- package/dist/launcher.d.ts +0 -0
- package/dist/launcher.js +1 -0
- package/dist/launcher.js.map +1 -0
- package/dist/logon.test.d.ts +0 -0
- package/dist/logon.test.js +1 -0
- package/dist/logon.test.js.map +1 -0
- package/dist/make-fix-session.d.ts +0 -0
- package/dist/make-fix-session.js +1 -0
- package/dist/make-fix-session.js.map +1 -0
- package/dist/memory-store.test.d.ts +0 -0
- package/dist/memory-store.test.js +1 -0
- package/dist/memory-store.test.js.map +1 -0
- package/dist/object.json +691 -0
- package/dist/qf-full-msg.test.d.ts +0 -0
- package/dist/qf-full-msg.test.js +1 -0
- package/dist/qf-full-msg.test.js.map +1 -0
- package/dist/repo-full-ascii-msg.test.d.ts +0 -0
- package/dist/repo-full-ascii-msg.test.js +1 -0
- package/dist/repo-full-ascii-msg.test.js.map +1 -0
- package/dist/runtime/DITokens.d.ts +20 -0
- package/dist/runtime/DITokens.js +25 -0
- package/dist/runtime/DITokens.js.map +1 -0
- package/dist/runtime/app-launcher.d.ts +27 -0
- package/dist/runtime/app-launcher.js +131 -0
- package/dist/runtime/app-launcher.js.map +1 -0
- package/dist/runtime/di-tokens.d.ts +28 -0
- package/dist/runtime/di-tokens.js +33 -0
- package/dist/runtime/di-tokens.js.map +1 -0
- package/dist/runtime/engine-factory.d.ts +4 -0
- package/dist/runtime/engine-factory.js +3 -0
- package/dist/runtime/engine-factory.js.map +1 -0
- package/dist/runtime/index.d.ts +5 -0
- package/dist/runtime/index.js +18 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/launcher.d.ts +29 -0
- package/dist/runtime/launcher.js +131 -0
- package/dist/runtime/launcher.js.map +1 -0
- package/dist/runtime/make-config.d.ts +11 -0
- package/dist/runtime/make-config.js +57 -0
- package/dist/runtime/make-config.js.map +1 -0
- package/dist/runtime/session-container.d.ts +16 -0
- package/dist/runtime/session-container.js +168 -0
- package/dist/runtime/session-container.js.map +1 -0
- package/dist/runtime/session-launcher.d.ts +26 -0
- package/dist/runtime/session-launcher.js +131 -0
- package/dist/runtime/session-launcher.js.map +1 -0
- package/dist/sample/http/oms/app.d.ts +1 -1
- package/dist/sample/http/oms/app.js +16 -14
- package/dist/sample/http/oms/app.js.map +1 -1
- package/dist/sample/http/oms/http-client.js +22 -2
- package/dist/sample/http/oms/http-client.js.map +1 -1
- package/dist/sample/http/oms/http-server.js +21 -2
- package/dist/sample/http/oms/http-server.js.map +1 -1
- package/dist/sample/launcher.d.ts +21 -4
- package/dist/sample/launcher.js +87 -19
- package/dist/sample/launcher.js.map +1 -1
- package/dist/sample/tcp/qf-md/app.d.ts +1 -1
- package/dist/sample/tcp/qf-md/app.js +11 -11
- package/dist/sample/tcp/qf-md/app.js.map +1 -1
- package/dist/sample/tcp/qf-md/md-client.js +21 -2
- package/dist/sample/tcp/qf-md/md-client.js.map +1 -1
- package/dist/sample/tcp/qf-md/md-server.js +20 -2
- package/dist/sample/tcp/qf-md/md-server.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/app.d.ts +1 -1
- package/dist/sample/tcp/recovering-skeleton/app.js +36 -16
- package/dist/sample/tcp/recovering-skeleton/app.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.d.ts +3 -1
- package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js +30 -8
- package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-client.d.ts +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-client.js +22 -3
- package/dist/sample/tcp/recovering-skeleton/skeleton-client.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-server.js +21 -2
- package/dist/sample/tcp/recovering-skeleton/skeleton-server.js.map +1 -1
- package/dist/sample/tcp/skeleton/app.d.ts +1 -1
- package/dist/sample/tcp/skeleton/app.js +8 -13
- package/dist/sample/tcp/skeleton/app.js.map +1 -1
- package/dist/sample/tcp/skeleton/skeleton-session.d.ts +1 -1
- package/dist/sample/tcp/skeleton/skeleton-session.js +26 -4
- package/dist/sample/tcp/skeleton/skeleton-session.js.map +1 -1
- package/dist/sample/tcp/tls-trade-capture/app.d.ts +1 -1
- package/dist/sample/tcp/tls-trade-capture/app.js +4 -24
- package/dist/sample/tcp/tls-trade-capture/app.js.map +1 -1
- package/dist/sample/tcp/trade-capture/app-launcher.d.ts +6 -0
- package/dist/sample/tcp/trade-capture/app-launcher.js +21 -0
- package/dist/sample/tcp/trade-capture/app-launcher.js.map +1 -0
- package/dist/sample/tcp/trade-capture/app-launher.d.ts +0 -0
- package/dist/sample/tcp/trade-capture/app-launher.js +1 -0
- package/dist/sample/tcp/trade-capture/app-launher.js.map +1 -0
- package/dist/sample/tcp/trade-capture/app.d.ts +1 -1
- package/dist/sample/tcp/trade-capture/app.js +4 -21
- package/dist/sample/tcp/trade-capture/app.js.map +1 -1
- package/dist/sample/tcp/trade-capture/jsfix.test_client.txt +11 -0
- package/dist/sample/tcp/trade-capture/jsfix.test_server.txt +10 -0
- package/dist/sample/tcp/trade-capture/trade-capture-client.js.map +1 -1
- package/dist/sample/tcp/trade-capture/trade-capture-server.js.map +1 -1
- package/dist/sample/tcp/trade-capture/trade-factory.js +7 -1
- package/dist/sample/tcp/trade-capture/trade-factory.js.map +1 -1
- package/dist/segment-description.d.ts +0 -0
- package/dist/segment-description.js +1 -0
- package/dist/segment-description.js.map +1 -0
- package/dist/segment-summary.d.ts +0 -0
- package/dist/segment-summary.js +1 -0
- package/dist/segment-summary.js.map +1 -0
- package/dist/segment-type.d.ts +0 -0
- package/dist/segment-type.js +1 -0
- package/dist/segment-type.js.map +1 -0
- package/dist/session-description.d.ts +0 -0
- package/dist/session-description.js +1 -0
- package/dist/session-description.js.map +1 -0
- package/dist/session-msg-factory.d.ts +0 -0
- package/dist/session-msg-factory.js +1 -0
- package/dist/session-msg-factory.js.map +1 -0
- package/dist/session-state.d.ts +0 -0
- package/dist/session-state.js +1 -0
- package/dist/session-state.js.map +1 -0
- package/dist/session-state.test.d.ts +0 -0
- package/dist/session-state.test.js +1 -0
- package/dist/session-state.test.js.map +1 -0
- package/dist/session.test.d.ts +0 -0
- package/dist/session.test.js +1 -0
- package/dist/session.test.js.map +1 -0
- package/dist/setup.d.ts +0 -0
- package/dist/setup.js +1 -0
- package/dist/setup.js.map +1 -0
- package/dist/skeleton-runner.d.ts +0 -0
- package/dist/skeleton-runner.js +1 -0
- package/dist/skeleton-runner.js.map +1 -0
- package/dist/store/fix-msg-ascii-store-resend.d.ts +1 -1
- package/dist/store/fix-msg-ascii-store-resend.js +2 -1
- package/dist/store/fix-msg-ascii-store-resend.js.map +1 -1
- package/dist/store/fix-msg-memory-store.d.ts +1 -1
- package/dist/store/fix-msg-memory-store.js.map +1 -1
- package/dist/store/fix-msg-store-record.d.ts +2 -0
- package/dist/store/fix-msg-store-record.js +4 -0
- package/dist/store/fix-msg-store-record.js.map +1 -1
- package/dist/store/fix-msg-store-state.d.ts +6 -0
- package/dist/store/fix-msg-store-state.js +3 -0
- package/dist/store/fix-msg-store-state.js.map +1 -0
- package/dist/store/fix-msg-store.d.ts +1 -6
- package/dist/store/fix-msg-store.js.map +1 -1
- package/dist/structure.json +631 -0
- package/dist/tag-pos.d.ts +0 -0
- package/dist/tag-pos.js +1 -0
- package/dist/tag-pos.js.map +1 -0
- package/dist/tag-type.d.ts +0 -0
- package/dist/tag-type.js +1 -0
- package/dist/tag-type.js.map +1 -0
- package/dist/tags.d.ts +0 -0
- package/dist/tags.js +1 -0
- package/dist/tags.js.map +1 -0
- package/dist/test/ascii/ascii-encoder.test.d.ts +1 -0
- package/dist/test/{ascii-encode.test.js → ascii/ascii-encoder.test.js} +140 -49
- package/dist/test/ascii/ascii-encoder.test.js.map +1 -0
- package/dist/test/ascii/ascii-parser.test.d.ts +1 -0
- package/dist/test/ascii/ascii-parser.test.js +123 -0
- package/dist/test/ascii/ascii-parser.test.js.map +1 -0
- package/dist/test/ascii/ascii-segment.test.d.ts +1 -0
- package/dist/test/ascii/ascii-segment.test.js +86 -0
- package/dist/test/ascii/ascii-segment.test.js.map +1 -0
- package/dist/test/ascii/ascii-store-replay.test.d.ts +1 -0
- package/dist/test/ascii/ascii-store-replay.test.js +92 -0
- package/dist/test/ascii/ascii-store-replay.test.js.map +1 -0
- package/dist/test/ascii/ascii-tag-pos.test.d.ts +1 -0
- package/dist/test/ascii/ascii-tag-pos.test.js +105 -0
- package/dist/test/ascii/ascii-tag-pos.test.js.map +1 -0
- package/dist/test/ascii/execution-report.test.d.ts +1 -0
- package/dist/test/ascii/execution-report.test.js +489 -0
- package/dist/test/ascii/execution-report.test.js.map +1 -0
- package/dist/test/ascii/fix-log-replay.test.d.ts +1 -0
- package/dist/test/ascii/fix-log-replay.test.js +47 -0
- package/dist/test/ascii/fix-log-replay.test.js.map +1 -0
- package/dist/test/ascii/fix-repo-dict.test.d.ts +1 -0
- package/dist/test/ascii/fix-repo-dict.test.js +128 -0
- package/dist/test/ascii/fix-repo-dict.test.js.map +1 -0
- package/dist/test/ascii/includes.test.d.ts +1 -0
- package/dist/test/ascii/includes.test.js +43 -0
- package/dist/test/ascii/includes.test.js.map +1 -0
- package/dist/test/ascii/logon.test.d.ts +1 -0
- package/dist/test/ascii/logon.test.js +91 -0
- package/dist/test/ascii/logon.test.js.map +1 -0
- package/dist/test/ascii/memory-store.test.d.ts +1 -0
- package/dist/test/ascii/memory-store.test.js +75 -0
- package/dist/test/ascii/memory-store.test.js.map +1 -0
- package/dist/test/ascii/qf-full-msg.test.d.ts +1 -0
- package/dist/test/ascii/qf-full-msg.test.js +81 -0
- package/dist/test/ascii/qf-full-msg.test.js.map +1 -0
- package/dist/test/ascii/repo-full-ascii-msg.test.d.ts +1 -0
- package/dist/test/ascii/repo-full-ascii-msg.test.js +87 -0
- package/dist/test/ascii/repo-full-ascii-msg.test.js.map +1 -0
- package/dist/test/ascii/session-state.test.d.ts +1 -0
- package/dist/test/ascii/session-state.test.js +73 -0
- package/dist/test/ascii/session-state.test.js.map +1 -0
- package/dist/test/ascii/session.test.d.ts +1 -0
- package/dist/test/ascii/session.test.js +280 -0
- package/dist/test/ascii/session.test.js.map +1 -0
- package/dist/test/ascii/time-formatter.test.d.ts +1 -0
- package/dist/test/ascii/time-formatter.test.js +80 -0
- package/dist/test/ascii/time-formatter.test.js.map +1 -0
- package/dist/test/ascii/view-decode.test.d.ts +1 -0
- package/dist/test/ascii/view-decode.test.js +183 -0
- package/dist/test/ascii/view-decode.test.js.map +1 -0
- package/dist/test/ascii-encoder.test.d.ts +1 -1
- package/dist/test/ascii-encoder.test.js +51 -48
- package/dist/test/ascii-encoder.test.js.map +1 -1
- package/dist/test/ascii-parser.test.d.ts +1 -1
- package/dist/test/ascii-parser.test.js +26 -45
- package/dist/test/ascii-parser.test.js.map +1 -1
- package/dist/test/ascii-segment.test.d.ts +1 -1
- package/dist/test/ascii-segment.test.js +13 -34
- package/dist/test/ascii-segment.test.js.map +1 -1
- package/dist/test/ascii-store-replay.test.d.ts +1 -1
- package/dist/test/ascii-store-replay.test.js +12 -41
- package/dist/test/ascii-store-replay.test.js.map +1 -1
- package/dist/test/ascii-tag-pos.test.d.ts +1 -1
- package/dist/test/ascii-tag-pos.test.js +8 -8
- package/dist/test/ascii-tag-pos.test.js.map +1 -1
- package/dist/test/elastic-buffer.test.d.ts +1 -1
- package/dist/test/elastic-buffer.test.js +3 -1
- package/dist/test/elastic-buffer.test.js.map +1 -1
- package/dist/test/encode-proxy.test.d.ts +1 -1
- package/dist/test/encode-proxy.test.js +9 -9
- package/dist/test/encode-proxy.test.js.map +1 -1
- package/dist/test/env/experiment.d.ts +23 -0
- package/dist/test/env/experiment.js +33 -0
- package/dist/test/env/experiment.js.map +1 -0
- package/dist/test/env/parsing-result.d.ts +10 -0
- package/dist/test/env/parsing-result.js +14 -0
- package/dist/test/env/parsing-result.js.map +1 -0
- package/dist/test/env/setup.d.ts +39 -0
- package/dist/test/env/setup.js +98 -0
- package/dist/test/env/setup.js.map +1 -0
- package/dist/test/env/skeleton-runner.d.ts +15 -0
- package/dist/test/env/skeleton-runner.js +108 -0
- package/dist/test/env/skeleton-runner.js.map +1 -0
- package/dist/test/env/test-recovery.d.ts +13 -0
- package/dist/test/env/test-recovery.js +41 -0
- package/dist/test/env/test-recovery.js.map +1 -0
- package/dist/test/env/to-views.d.ts +11 -0
- package/dist/test/env/to-views.js +56 -0
- package/dist/test/env/to-views.js.map +1 -0
- package/dist/test/execution-report.test.d.ts +1 -1
- package/dist/test/execution-report.test.js +53 -49
- package/dist/test/execution-report.test.js.map +1 -1
- package/dist/test/experiment.d.ts +23 -0
- package/dist/test/experiment.js +33 -0
- package/dist/test/experiment.js.map +1 -0
- package/dist/test/expieriment.d.ts +23 -0
- package/dist/test/expieriment.js +33 -0
- package/dist/test/expieriment.js.map +1 -0
- package/dist/test/fix-log-replay.test.d.ts +1 -1
- package/dist/test/fix-log-replay.test.js +7 -5
- package/dist/test/fix-log-replay.test.js.map +1 -1
- package/dist/test/fix-repo-dict.test.d.ts +1 -1
- package/dist/test/fix-repo-dict.test.js +6 -5
- package/dist/test/fix-repo-dict.test.js.map +1 -1
- package/dist/test/fixml/fixml-alloc-parse.test.d.ts +1 -0
- package/dist/test/fixml/fixml-alloc-parse.test.js +161 -0
- package/dist/test/fixml/fixml-alloc-parse.test.js.map +1 -0
- package/dist/test/fixml/fixml-mkt-data-fut-parse.test.d.ts +1 -0
- package/dist/test/fixml/fixml-mkt-data-fut-parse.test.js +61 -0
- package/dist/test/fixml/fixml-mkt-data-fut-parse.test.js.map +1 -0
- package/dist/test/fixml/fixml-mkt-data-settle-parse.test.d.ts +1 -0
- package/dist/test/fixml/fixml-mkt-data-settle-parse.test.js +34 -0
- package/dist/test/fixml/fixml-mkt-data-settle-parse.test.js.map +1 -0
- package/dist/test/fixml/fixml-tc-bi-lateral-parse.test.d.ts +1 -0
- package/dist/test/fixml/fixml-tc-bi-lateral-parse.test.js +97 -0
- package/dist/test/fixml/fixml-tc-bi-lateral-parse.test.js.map +1 -0
- package/dist/test/fixml/repo-full-fixml-msg.test.d.ts +1 -0
- package/dist/test/fixml/repo-full-fixml-msg.test.js +143 -0
- package/dist/test/fixml/repo-full-fixml-msg.test.js.map +1 -0
- package/dist/test/fixml-alloc-parse.test.d.ts +1 -1
- package/dist/test/fixml-alloc-parse.test.js +2 -1
- package/dist/test/fixml-alloc-parse.test.js.map +1 -1
- package/dist/test/fixml-mkt-data-fut-parse.test.d.ts +1 -1
- package/dist/test/fixml-mkt-data-fut-parse.test.js +2 -1
- package/dist/test/fixml-mkt-data-fut-parse.test.js.map +1 -1
- package/dist/test/fixml-mkt-data-settle-parse.test.d.ts +1 -1
- package/dist/test/fixml-mkt-data-settle-parse.test.js +2 -1
- package/dist/test/fixml-mkt-data-settle-parse.test.js.map +1 -1
- package/dist/test/fixml-tc-bi-lateral-parse.test.d.ts +1 -1
- package/dist/test/fixml-tc-bi-lateral-parse.test.js +2 -1
- package/dist/test/fixml-tc-bi-lateral-parse.test.js.map +1 -1
- package/dist/test/includes.test.d.ts +1 -1
- package/dist/test/includes.test.js +1 -0
- package/dist/test/includes.test.js.map +1 -1
- package/dist/test/logon.test.d.ts +1 -1
- package/dist/test/logon.test.js +11 -11
- package/dist/test/logon.test.js.map +1 -1
- package/dist/test/memory-store.test.d.ts +1 -1
- package/dist/test/memory-store.test.js +11 -8
- package/dist/test/memory-store.test.js.map +1 -1
- package/dist/test/qf-full-msg.test.d.ts +1 -1
- package/dist/test/qf-full-msg.test.js +13 -9
- package/dist/test/qf-full-msg.test.js.map +1 -1
- package/dist/test/repo-full-ascii-msg.test.d.ts +1 -1
- package/dist/test/repo-full-ascii-msg.test.js +14 -10
- package/dist/test/repo-full-ascii-msg.test.js.map +1 -1
- package/dist/test/repo-full-fixml-msg.test.d.ts +1 -1
- package/dist/test/repo-full-fixml-msg.test.js +7 -4
- package/dist/test/repo-full-fixml-msg.test.js.map +1 -1
- package/dist/test/session-state.test.d.ts +1 -1
- package/dist/test/session-state.test.js +1 -0
- package/dist/test/session-state.test.js.map +1 -1
- package/dist/test/session.test.d.ts +1 -1
- package/dist/test/session.test.js +13 -144
- package/dist/test/session.test.js.map +1 -1
- package/dist/test/setup.d.ts +45 -0
- package/dist/test/setup.js +102 -0
- package/dist/test/setup.js.map +1 -0
- package/dist/test/skeleton-runner.d.ts +15 -0
- package/dist/test/skeleton-runner.js +108 -0
- package/dist/test/skeleton-runner.js.map +1 -0
- package/dist/test/time-formatter.test.d.ts +1 -1
- package/dist/test/time-formatter.test.js +3 -1
- package/dist/test/time-formatter.test.js.map +1 -1
- package/dist/test/to-views.d.ts +1 -1
- package/dist/test/to-views.js +5 -4
- package/dist/test/to-views.js.map +1 -1
- package/dist/test/view-decode.test.d.ts +1 -1
- package/dist/test/view-decode.test.js +9 -34
- package/dist/test/view-decode.test.js.map +1 -1
- package/dist/time-formatter.test.d.ts +0 -0
- package/dist/time-formatter.test.js +1 -0
- package/dist/time-formatter.test.js.map +1 -0
- package/dist/to-views.d.ts +0 -0
- package/dist/to-views.js +1 -0
- package/dist/to-views.js.map +1 -0
- package/dist/token.txt +248 -0
- package/dist/transport/FixEntity.d.ts +8 -0
- package/dist/transport/FixEntity.js +12 -0
- package/dist/transport/FixEntity.js.map +1 -0
- package/dist/transport/a-session-msg-factory.d.ts +2 -2
- package/dist/transport/a-session-msg-factory.js.map +1 -1
- package/dist/transport/ascii/ascii-msg-transmitter.js +25 -6
- package/dist/transport/ascii/ascii-msg-transmitter.js.map +1 -1
- package/dist/transport/ascii/ascii-session-msg-factory.d.ts +2 -2
- package/dist/transport/ascii/ascii-session-msg-factory.js +1 -1
- package/dist/transport/ascii/ascii-session-msg-factory.js.map +1 -1
- package/dist/transport/ascii/ascii-session.d.ts +1 -1
- package/dist/transport/ascii/ascii-session.js +26 -23
- package/dist/transport/ascii/ascii-session.js.map +1 -1
- package/dist/transport/ascii/index.d.ts +0 -1
- package/dist/transport/ascii/index.js +0 -1
- package/dist/transport/ascii/index.js.map +1 -1
- package/dist/transport/duplex/http-duplex.d.ts +1 -1
- package/dist/transport/duplex/http-duplex.js.map +1 -1
- package/dist/transport/duplex/tcp-duplex.js +22 -2
- package/dist/transport/duplex/tcp-duplex.js.map +1 -1
- package/dist/transport/factory/index.d.ts +1 -0
- package/dist/transport/factory/index.js +14 -0
- package/dist/transport/factory/index.js.map +1 -0
- package/dist/transport/{msg-transport.d.ts → factory/msg-transport.d.ts} +4 -4
- package/dist/transport/factory/msg-transport.js +61 -0
- package/dist/transport/factory/msg-transport.js.map +1 -0
- package/dist/transport/fix-acceptor.d.ts +2 -2
- package/dist/transport/fix-acceptor.js.map +1 -1
- package/dist/transport/fix-entity.d.ts +8 -0
- package/dist/transport/fix-entity.js +12 -0
- package/dist/transport/fix-entity.js.map +1 -0
- package/dist/transport/fix-initiator.d.ts +2 -2
- package/dist/transport/fix-initiator.js.map +1 -1
- package/dist/transport/fix-msg-factory.d.ts +1 -1
- package/dist/transport/fix-msg-factory.js.map +1 -1
- package/dist/transport/fix-session-state-args.d.ts +8 -0
- package/dist/transport/fix-session-state-args.js +3 -0
- package/dist/transport/fix-session-state-args.js.map +1 -0
- package/dist/transport/fix-session-state.d.ts +3 -41
- package/dist/transport/fix-session-state.js +21 -54
- package/dist/transport/fix-session-state.js.map +1 -1
- package/dist/transport/fix-session.d.ts +3 -2
- package/dist/transport/fix-session.js +44 -42
- package/dist/transport/fix-session.js.map +1 -1
- package/dist/transport/fixml/fixml-msg-transmitter.js +23 -5
- package/dist/transport/fixml/fixml-msg-transmitter.js.map +1 -1
- package/dist/transport/fixml/fixml-session-msg-factory.d.ts +2 -2
- package/dist/transport/fixml/fixml-session-msg-factory.js +1 -1
- package/dist/transport/fixml/fixml-session-msg-factory.js.map +1 -1
- package/dist/transport/fixml/fixml-session.d.ts +1 -1
- package/dist/transport/fixml/fixml-session.js +3 -3
- package/dist/transport/fixml/fixml-session.js.map +1 -1
- package/dist/transport/fixml/index.d.ts +0 -2
- package/dist/transport/fixml/index.js +0 -2
- package/dist/transport/fixml/index.js.map +1 -1
- package/dist/transport/http/html-options.d.ts +8 -0
- package/dist/{store/replay-record.js → transport/http/html-options.js} +1 -1
- package/dist/transport/http/html-options.js.map +1 -0
- package/dist/transport/http/html-route.d.ts +5 -0
- package/dist/{types/FIX4.4/quickfix/set/trailer.js → transport/http/html-route.js} +1 -1
- package/dist/transport/http/html-route.js.map +1 -0
- package/dist/transport/http/http-acceptor-listener.d.ts +7 -0
- package/dist/transport/http/http-acceptor-listener.js +68 -0
- package/dist/transport/http/http-acceptor-listener.js.map +1 -0
- package/dist/transport/http/http-acceptor.js +24 -5
- package/dist/transport/http/http-acceptor.js.map +1 -1
- package/dist/transport/http/http-adapter.d.ts +7 -0
- package/dist/transport/http/http-adapter.js +3 -0
- package/dist/transport/http/http-adapter.js.map +1 -0
- package/dist/transport/http/http-initiator.d.ts +9 -3
- package/dist/transport/http/http-initiator.js +57 -26
- package/dist/transport/http/http-initiator.js.map +1 -1
- package/dist/transport/http/http-json-sample-adapter.d.ts +2 -1
- package/dist/transport/http/http-json-sample-adapter.js +21 -2
- package/dist/transport/http/http-json-sample-adapter.js.map +1 -1
- package/dist/transport/http/http-transaction.d.ts +1 -1
- package/dist/transport/http/http-transaction.js.map +1 -1
- package/dist/transport/http/http-transport-description.d.ts +8 -0
- package/dist/transport/http/http-transport-description.js +3 -0
- package/dist/transport/http/http-transport-description.js.map +1 -0
- package/dist/transport/http/index.d.ts +1 -0
- package/dist/transport/http/index.js +1 -0
- package/dist/transport/http/index.js.map +1 -1
- package/dist/transport/index.d.ts +11 -10
- package/dist/transport/index.js +11 -10
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/{make-fixl-session.d.ts → make-fix-session.d.ts} +0 -0
- package/dist/transport/make-fix-session.js +3 -0
- package/dist/transport/make-fix-session.js.map +1 -0
- package/dist/transport/msg-application.d.ts +12 -0
- package/dist/transport/msg-application.js +3 -0
- package/dist/transport/msg-application.js.map +1 -0
- package/dist/transport/msg-transmitter.d.ts +5 -5
- package/dist/transport/msg-transmitter.js +2 -3
- package/dist/transport/msg-transmitter.js.map +1 -1
- package/dist/transport/session/a-session-msg-factory.d.ts +23 -0
- package/dist/transport/session/a-session-msg-factory.js +58 -0
- package/dist/transport/session/a-session-msg-factory.js.map +1 -0
- package/dist/transport/session/fix-session-state-args.d.ts +8 -0
- package/dist/transport/session/fix-session-state-args.js +3 -0
- package/dist/transport/session/fix-session-state-args.js.map +1 -0
- package/dist/transport/session/fix-session-state.d.ts +32 -0
- package/dist/transport/session/fix-session-state.js +133 -0
- package/dist/transport/session/fix-session-state.js.map +1 -0
- package/dist/transport/session/fix-session.d.ts +50 -0
- package/dist/transport/session/fix-session.js +291 -0
- package/dist/transport/session/fix-session.js.map +1 -0
- package/dist/transport/session/make-fix-session.d.ts +5 -0
- package/dist/transport/session/make-fix-session.js +3 -0
- package/dist/transport/session/make-fix-session.js.map +1 -0
- package/dist/transport/session/session-description.d.ts +17 -0
- package/dist/transport/session/session-description.js +3 -0
- package/dist/transport/session/session-description.js.map +1 -0
- package/dist/transport/session/session-msg-factory.d.ts +15 -0
- package/dist/transport/session/session-msg-factory.js +3 -0
- package/dist/transport/session/session-msg-factory.js.map +1 -0
- package/dist/transport/session/session-state.d.ts +25 -0
- package/dist/transport/session/session-state.js +30 -0
- package/dist/transport/session/session-state.js.map +1 -0
- package/dist/transport/session-description.d.ts +1 -48
- package/dist/transport/session-description.js.map +1 -1
- package/dist/transport/session-msg-factory.d.ts +7 -20
- package/dist/transport/session-msg-factory.js +0 -150
- package/dist/transport/session-msg-factory.js.map +1 -1
- package/dist/transport/session-state.d.ts +25 -0
- package/dist/transport/session-state.js +30 -0
- package/dist/transport/session-state.js.map +1 -0
- package/dist/transport/tcp/index.d.ts +3 -2
- package/dist/transport/tcp/index.js +3 -2
- package/dist/transport/tcp/index.js.map +1 -1
- package/dist/transport/tcp/recovering-tcp-initiator.d.ts +7 -9
- package/dist/transport/tcp/recovering-tcp-initiator.js +41 -16
- package/dist/transport/tcp/recovering-tcp-initiator.js.map +1 -1
- package/dist/transport/tcp/tcp-acceptor-listener.d.ts +7 -0
- package/dist/transport/tcp/tcp-acceptor-listener.js +70 -0
- package/dist/transport/tcp/tcp-acceptor-listener.js.map +1 -0
- package/dist/transport/tcp/tcp-acceptor.js +29 -12
- package/dist/transport/tcp/tcp-acceptor.js.map +1 -1
- package/dist/transport/tcp/tcp-initiator-connector.d.ts +10 -0
- package/dist/transport/tcp/tcp-initiator-connector.js +97 -0
- package/dist/transport/tcp/tcp-initiator-connector.js.map +1 -0
- package/dist/transport/tcp/tcp-initiator.d.ts +2 -2
- package/dist/transport/tcp/tcp-initiator.js +28 -9
- package/dist/transport/tcp/tcp-initiator.js.map +1 -1
- package/dist/transport/tcp/tcp-transport-description.d.ts +6 -0
- package/dist/transport/tcp/tcp-transport-description.js +3 -0
- package/dist/transport/tcp/tcp-transport-description.js.map +1 -0
- package/dist/transport/tcp/tls-options-factory.d.ts +9 -0
- package/dist/transport/tcp/tls-options-factory.js +53 -0
- package/dist/transport/tcp/tls-options-factory.js.map +1 -0
- package/dist/transport/tcp/tls-options.d.ts +10 -5
- package/dist/transport/tcp/tls-options.js +0 -49
- package/dist/transport/tcp/tls-options.js.map +1 -1
- package/dist/transport/tick-action.d.ts +8 -0
- package/dist/transport/tick-action.js +13 -0
- package/dist/transport/tick-action.js.map +1 -0
- package/dist/util/buffer-helper.js +1 -1
- package/dist/util/buffer-helper.js.map +1 -1
- package/dist/util/definition-factory.d.ts +10 -0
- package/dist/util/definition-factory.js +56 -0
- package/dist/util/definition-factory.js.map +1 -0
- package/dist/util/dictionary-path.d.ts +4 -0
- package/dist/util/dictionary-path.js +3 -0
- package/dist/util/dictionary-path.js.map +1 -0
- package/dist/util/index.d.ts +1 -1
- package/dist/util/index.js +1 -1
- package/dist/util/index.js.map +1 -1
- package/dist/util/json-helper.d.ts +3 -1
- package/dist/util/json-helper.js +13 -12
- package/dist/util/json-helper.js.map +1 -1
- package/dist/util/message-generator.d.ts +1 -1
- package/dist/util/message-generator.js +16 -15
- package/dist/util/message-generator.js.map +1 -1
- package/dist/util/replay.d.ts +6 -3
- package/dist/util/replay.js +24 -26
- package/dist/util/replay.js.map +1 -1
- package/package.json +15 -10
- package/script/build.cmd +1 -0
- package/script/build.sh +1 -0
- package/script/test.cmd +3 -0
- package/src/buffer/{ascii-chars.ts → ascii/ascii-chars.ts} +0 -0
- package/src/buffer/ascii/ascii-encoder.ts +9 -6
- package/src/buffer/ascii/ascii-parser-state.ts +7 -12
- package/src/buffer/ascii/ascii-parser.ts +23 -16
- package/src/buffer/ascii/ascii-segment-parser.ts +14 -8
- package/src/buffer/ascii/ascii-view.ts +4 -9
- package/src/buffer/ascii/index.ts +1 -0
- package/src/buffer/ascii/parse-state.ts +8 -0
- package/src/buffer/ascii/time-formatter.ts +1 -1
- package/src/buffer/elastic-buffer.ts +7 -2
- package/src/buffer/encode-proxy.ts +9 -4
- package/src/buffer/fixml/fixml-encoder.ts +15 -11
- package/src/buffer/fixml/fixml-parser.ts +16 -6
- package/src/buffer/fixml/fixml-view.ts +4 -9
- package/src/buffer/fixml/populated-attributes.ts +6 -0
- package/src/buffer/index.ts +4 -8
- package/src/buffer/msg-encoder.ts +2 -1
- package/src/buffer/msg-view.ts +13 -9
- package/src/buffer/{segment-description.ts → segment/segment-description.ts} +4 -11
- package/src/buffer/{segment-summary.ts → segment/segment-summary.ts} +0 -0
- package/src/buffer/segment/segment-type.ts +8 -0
- package/src/buffer/structure.ts +3 -3
- package/src/buffer/{tag-pos.ts → tag/tag-pos.ts} +0 -0
- package/src/buffer/tag/tag-type.ts +13 -0
- package/src/buffer/{tags.ts → tag/tags.ts} +4 -16
- package/src/config/get-js-fx-logger.ts +4 -0
- package/src/config/index.ts +1 -0
- package/src/config/js-fix-config.ts +5 -2
- package/src/config/js-fix-logger.ts +0 -3
- package/src/dictionary/compiler/compiler-type.ts +3 -3
- package/src/dictionary/compiler/enum-compiler.ts +12 -1
- package/src/dictionary/compiler/msg-compiler.ts +8 -7
- package/src/dictionary/contained/contained-component-field.ts +2 -1
- package/src/dictionary/contained/contained-field-dispatch.ts +3 -7
- package/src/dictionary/contained/contained-field-dispatcher.ts +9 -0
- package/src/dictionary/contained/contained-field-set.ts +5 -3
- package/src/dictionary/contained/contained-field-type.ts +5 -0
- package/src/dictionary/contained/contained-field.ts +1 -6
- package/src/dictionary/contained/contained-group-field.ts +2 -1
- package/src/dictionary/contained/contained-simple-field.ts +2 -1
- package/src/dictionary/contained/field-dispatcher.ts +9 -0
- package/src/dictionary/contained/fields-dispatch.ts +46 -0
- package/src/dictionary/contained/index.ts +2 -0
- package/src/dictionary/contained-set-type.ts +5 -0
- package/src/dictionary/definition/component-field-definition.ts +1 -1
- package/src/dictionary/definition/fix-definitions.ts +2 -1
- package/src/dictionary/definition/group-field-definition.ts +1 -1
- package/src/dictionary/definition/index.ts +0 -1
- package/src/dictionary/definition/message-definition.ts +1 -1
- package/src/dictionary/definition/simple-field-definition.ts +3 -1
- package/src/dictionary/dict-primitive.ts +0 -13
- package/src/dictionary/fix-definition-source.ts +6 -0
- package/src/dictionary/fix-versions.ts +0 -32
- package/src/dictionary/index.ts +1 -5
- package/src/dictionary/parser/fix-repository/abbreviations-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/base-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/components-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/data-types-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/enums-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/fields-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/messages-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/msg-contents-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/repository-abbreviation.ts +6 -0
- package/src/dictionary/parser/fix-repository/repository-component.ts +11 -0
- package/src/dictionary/parser/fix-repository/repository-data-type.ts +7 -0
- package/src/dictionary/parser/fix-repository/repository-enum.ts +8 -0
- package/src/dictionary/parser/fix-repository/repository-field.ts +12 -0
- package/src/dictionary/parser/fix-repository/repository-message.ts +12 -0
- package/src/dictionary/parser/fix-repository/repository-msg-content.ts +10 -0
- package/src/dictionary/parser/fix-repository/repository-type.ts +0 -59
- package/src/dictionary/parser/fix-repository/repository-xml-parser.ts +10 -9
- package/src/dictionary/parser/fix-repository/repository.ts +69 -38
- package/src/dictionary/parser/fixml/components-parser.ts +6 -3
- package/src/dictionary/parser/fixml/fields-parser.ts +1 -1
- package/src/dictionary/parser/fixml/fix-xsd-parser.ts +2 -1
- package/src/dictionary/parser/fixml/include-graph.ts +2 -1
- package/src/dictionary/parser/fixml/xsd-parser.ts +2 -1
- package/src/dictionary/parser/quickfix/field-definition-parser.ts +4 -5
- package/src/dictionary/parser/quickfix/field-set-parser.ts +4 -5
- package/src/dictionary/parser/quickfix/message-parser.ts +4 -5
- package/src/dictionary/parser/quickfix/node-parser.ts +3 -6
- package/src/dictionary/parser/quickfix/parse-state.ts +8 -0
- package/src/dictionary/parser/quickfix/quick-fix-xml-file-parser.ts +9 -15
- package/src/dictionary/sax-node.ts +7 -0
- package/src/dictionary/set-reduce.ts +30 -31
- package/src/dictionary/type-dispatcher.ts +7 -0
- package/src/dictionary/version-util.ts +25 -0
- package/src/index.ts +1 -0
- package/src/jsfix-cmd.ts +31 -16
- package/src/runtime/di-tokens.ts +48 -0
- package/src/runtime/engine-factory.ts +5 -0
- package/src/runtime/index.ts +5 -0
- package/src/runtime/make-config.ts +35 -0
- package/src/runtime/session-container.ts +180 -0
- package/src/runtime/session-launcher.ts +127 -0
- package/src/sample/http/oms/app.ts +20 -14
- package/src/sample/http/oms/http-client.ts +5 -2
- package/src/sample/http/oms/http-server.ts +5 -1
- package/src/sample/tcp/qf-md/app.ts +12 -12
- package/src/sample/tcp/qf-md/md-client.ts +4 -1
- package/src/sample/tcp/qf-md/md-server.ts +3 -1
- package/src/sample/tcp/recovering-skeleton/app.ts +37 -15
- package/src/sample/tcp/recovering-skeleton/respawn-acceptor.ts +16 -9
- package/src/sample/tcp/recovering-skeleton/skeleton-client.ts +4 -2
- package/src/sample/tcp/recovering-skeleton/skeleton-server.ts +4 -2
- package/src/sample/tcp/skeleton/app.ts +10 -15
- package/src/sample/tcp/skeleton/skeleton-session.ts +8 -4
- package/src/sample/tcp/tls-trade-capture/app.ts +8 -31
- package/src/sample/tcp/trade-capture/app-launcher.ts +22 -0
- package/src/sample/tcp/trade-capture/app.ts +3 -26
- package/src/sample/tcp/trade-capture/trade-capture-client.ts +2 -1
- package/src/sample/tcp/trade-capture/trade-capture-server.ts +2 -1
- package/src/sample/tcp/trade-capture/trade-factory.ts +7 -1
- package/src/store/fix-msg-ascii-store-resend.ts +3 -2
- package/src/store/fix-msg-memory-store.ts +1 -1
- package/src/store/fix-msg-store-record.ts +6 -0
- package/src/store/fix-msg-store-state.ts +6 -0
- package/src/store/fix-msg-store.ts +1 -7
- package/src/transport/ascii/ascii-msg-transmitter.ts +9 -5
- package/src/transport/ascii/ascii-session-msg-factory.ts +2 -2
- package/src/transport/ascii/ascii-session.ts +9 -6
- package/src/transport/ascii/index.ts +0 -1
- package/src/transport/duplex/http-duplex.ts +1 -1
- package/src/transport/duplex/tcp-duplex.ts +4 -1
- package/src/transport/factory/index.ts +1 -0
- package/src/transport/factory/msg-transport.ts +55 -0
- package/src/transport/fix-acceptor.ts +2 -2
- package/src/transport/fix-entity.ts +9 -0
- package/src/transport/fix-initiator.ts +2 -2
- package/src/transport/fixml/fixml-msg-transmitter.ts +8 -4
- package/src/transport/fixml/fixml-session-msg-factory.ts +2 -2
- package/src/transport/fixml/fixml-session.ts +2 -2
- package/src/transport/fixml/index.ts +0 -2
- package/src/transport/http/html-options.ts +8 -0
- package/src/transport/http/html-route.ts +6 -0
- package/src/transport/http/http-acceptor-listener.ts +42 -0
- package/src/transport/http/http-acceptor.ts +5 -2
- package/src/transport/http/http-adapter.ts +7 -0
- package/src/transport/http/http-initiator.ts +40 -25
- package/src/transport/http/http-json-sample-adapter.ts +7 -2
- package/src/transport/http/http-transaction.ts +1 -1
- package/src/transport/http/http-transport-description.ts +9 -0
- package/src/transport/http/index.ts +1 -0
- package/src/transport/index.ts +11 -10
- package/src/transport/msg-application.ts +13 -0
- package/src/transport/msg-transmitter.ts +5 -5
- package/src/transport/{a-session-msg-factory.ts → session/a-session-msg-factory.ts} +4 -4
- package/src/transport/session/fix-session-state-args.ts +9 -0
- package/src/transport/{fix-session-state.ts → session/fix-session-state.ts} +4 -44
- package/src/transport/{fix-session.ts → session/fix-session.ts} +10 -7
- package/src/transport/{make-fixl-session.ts → session/make-fix-session.ts} +1 -1
- package/src/transport/session/session-description.ts +18 -0
- package/src/transport/{fix-msg-factory.ts → session/session-msg-factory.ts} +2 -2
- package/src/transport/session/session-state.ts +25 -0
- package/src/transport/tcp/index.ts +3 -2
- package/src/transport/tcp/recovering-tcp-initiator.ts +24 -13
- package/src/transport/tcp/tcp-acceptor-listener.ts +45 -0
- package/src/transport/tcp/tcp-acceptor.ts +11 -10
- package/src/transport/tcp/tcp-initiator-connector.ts +71 -0
- package/src/transport/tcp/tcp-initiator.ts +10 -6
- package/src/transport/tcp/tcp-transport-description.ts +7 -0
- package/src/transport/tcp/tls-options-factory.ts +55 -0
- package/src/transport/tcp/tls-options.ts +9 -51
- package/src/transport/tick-action.ts +8 -0
- package/src/util/definition-factory.ts +47 -0
- package/src/util/dictionary-path.ts +4 -0
- package/src/util/index.ts +1 -1
- package/src/util/json-helper.ts +14 -4
- package/src/util/message-generator.ts +6 -3
- package/src/util/replay.ts +26 -21
- package/tsconfig.json +2 -0
- package/dist/buffer/ascii-chars.js.map +0 -1
- package/dist/dictionary/fields-dispatch.js +0 -40
- package/dist/dictionary/fields-dispatch.js.map +0 -1
- package/dist/sample/tcp/recovering-skeleton/respawn-2.d.ts +0 -2
- package/dist/sample/tcp/recovering-skeleton/respawn-2.js +0 -3
- package/dist/sample/tcp/recovering-skeleton/respawn-2.js.map +0 -1
- package/dist/store/fix-msg-ascii-store-recovery.d.ts +0 -12
- package/dist/store/fix-msg-ascii-store-recovery.js +0 -60
- package/dist/store/fix-msg-ascii-store-recovery.js.map +0 -1
- package/dist/store/fix-msg-ascii-store-replay.d.ts +0 -13
- package/dist/store/fix-msg-ascii-store-replay.js +0 -60
- package/dist/store/fix-msg-ascii-store-replay.js.map +0 -1
- package/dist/store/fix-replay-record.d.ts +0 -12
- package/dist/store/fix-replay-record.js +0 -12
- package/dist/store/fix-replay-record.js.map +0 -1
- package/dist/store/fix-resend-record.d.ts +0 -12
- package/dist/store/fix-resend-record.js +0 -12
- package/dist/store/fix-resend-record.js.map +0 -1
- package/dist/store/replay-record.d.ts +0 -6
- package/dist/store/replay-record.js.map +0 -1
- package/dist/store/store-replay-record.d.ts +0 -12
- package/dist/store/store-replay-record.js +0 -12
- package/dist/store/store-replay-record.js.map +0 -1
- package/dist/tcp/tls-options.d.ts +0 -5
- package/dist/tcp/tls-options.js +0 -45
- package/dist/tcp/tls-options.js.map +0 -1
- package/dist/test/ascii-encode.test.d.ts +0 -1
- package/dist/test/ascii-encode.test.js.map +0 -1
- package/dist/test/ascii-store-recovery.test.d.ts +0 -1
- package/dist/test/ascii-store-recovery.test.js +0 -50
- package/dist/test/ascii-store-recovery.test.js.map +0 -1
- package/dist/transport/ascii-session-msg-factory.d.ts +0 -16
- package/dist/transport/ascii-session-msg-factory.js +0 -47
- package/dist/transport/ascii-session-msg-factory.js.map +0 -1
- package/dist/transport/fixml/acceptor.d.ts +0 -3
- package/dist/transport/fixml/acceptor.js +0 -38
- package/dist/transport/fixml/acceptor.js.map +0 -1
- package/dist/transport/fixml-session-msg-factory.d.ts +0 -13
- package/dist/transport/fixml-session-msg-factory.js +0 -68
- package/dist/transport/fixml-session-msg-factory.js.map +0 -1
- package/dist/transport/make-config.d.ts +0 -4
- package/dist/transport/make-config.js +0 -31
- package/dist/transport/make-config.js.map +0 -1
- package/dist/transport/make-fixl-session.js.map +0 -1
- package/dist/transport/msg-transport.js +0 -57
- package/dist/transport/msg-transport.js.map +0 -1
- package/dist/transport/tcp/acceptor.d.ts +0 -3
- package/dist/transport/tcp/acceptor.js +0 -40
- package/dist/transport/tcp/acceptor.js.map +0 -1
- package/dist/transport/tcp/initiator.d.ts +0 -3
- package/dist/transport/tcp/initiator.js +0 -67
- package/dist/transport/tcp/initiator.js.map +0 -1
- package/dist/transport/tcp/recovering-initiator.d.ts +0 -17
- package/dist/transport/tcp/recovering-initiator.js +0 -30
- package/dist/transport/tcp/recovering-initiator.js.map +0 -1
- package/dist/transport/tcp/recovering_initiator.d.ts +0 -12
- package/dist/transport/tcp/recovering_initiator.js +0 -25
- package/dist/transport/tcp/recovering_initiator.js.map +0 -1
- package/dist/transport/tcp/resilient-initiator.d.ts +0 -12
- package/dist/transport/tcp/resilient-initiator.js +0 -41
- package/dist/transport/tcp/resilient-initiator.js.map +0 -1
- package/dist/types/FIX4.4/quickfix/set/header.d.ts +0 -31
- package/dist/types/FIX4.4/quickfix/set/header.js.map +0 -1
- package/dist/types/FIX4.4/quickfix/set/trailer.d.ts +0 -6
- package/dist/types/FIX4.4/quickfix/set/trailer.js.map +0 -1
- package/dist/util/dictionary-definitions.d.ts +0 -8
- package/dist/util/dictionary-definitions.js +0 -51
- package/dist/util/dictionary-definitions.js.map +0 -1
- package/src/dictionary/fields-dispatch.ts +0 -45
- package/src/sample/launcher.ts +0 -56
- package/src/transport/fixml/acceptor.ts +0 -29
- package/src/transport/make-config.ts +0 -19
- package/src/transport/msg-transport.ts +0 -67
- package/src/transport/session-description.ts +0 -70
- package/src/transport/tcp/acceptor.ts +0 -31
- package/src/transport/tcp/initiator.ts +0 -59
- package/src/util/dictionary-definitions.ts +0 -41
|
@@ -3,15 +3,17 @@ import { AsciiSession } from '../../../transport'
|
|
|
3
3
|
import { MsgType } from '../../../types'
|
|
4
4
|
import { IJsFixLogger, IJsFixConfig } from '../../../config'
|
|
5
5
|
import { IMarketDataRequest } from '../../../types/FIX4.4/quickfix'
|
|
6
|
+
import { inject, injectable } from 'tsyringe'
|
|
6
7
|
|
|
7
8
|
// interfaces generated by compiler to make messages easy in an IDE
|
|
8
9
|
|
|
10
|
+
@injectable()
|
|
9
11
|
export class MDServer extends AsciiSession {
|
|
10
12
|
private readonly logger: IJsFixLogger
|
|
11
13
|
private readonly fixLog: IJsFixLogger
|
|
12
14
|
private timerHandle: NodeJS.Timer = null
|
|
13
15
|
|
|
14
|
-
constructor (public readonly config: IJsFixConfig) {
|
|
16
|
+
constructor (@inject('IJsFixConfig') public readonly config: IJsFixConfig) {
|
|
15
17
|
super(config)
|
|
16
18
|
this.logReceivedMsgs = true
|
|
17
19
|
this.logger = config.logFactory.logger(`${this.me}:MDServer`)
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
+
import 'reflect-metadata'
|
|
2
|
+
|
|
1
3
|
import { IJsFixConfig } from '../../../config'
|
|
2
|
-
import {
|
|
4
|
+
import { SessionLauncher, DITokens } from '../../../runtime'
|
|
3
5
|
import { SkeletonClient } from './skeleton-client'
|
|
4
|
-
import { RecoveringTcpInitiator } from '../../../transport/tcp
|
|
6
|
+
import { RecoveringTcpInitiator } from '../../../transport/tcp'
|
|
5
7
|
import { RespawnAcceptor } from './respawn-acceptor'
|
|
6
|
-
import { AsciiChars } from '../../../buffer'
|
|
8
|
+
import { AsciiChars } from '../../../buffer/ascii'
|
|
9
|
+
import { DependencyContainer } from 'tsyringe'
|
|
10
|
+
import { SkeletonServer } from './skeleton-server'
|
|
11
|
+
import { FixSession, FixEntity } from '../../../transport'
|
|
7
12
|
|
|
8
|
-
class AppLauncher extends
|
|
13
|
+
class AppLauncher extends SessionLauncher {
|
|
9
14
|
|
|
10
15
|
public constructor () {
|
|
11
16
|
super(
|
|
@@ -13,21 +18,38 @@ class AppLauncher extends Launcher {
|
|
|
13
18
|
'data/session/test-acceptor.json')
|
|
14
19
|
}
|
|
15
20
|
|
|
16
|
-
protected
|
|
21
|
+
protected override registerApplication (sessionContainer: DependencyContainer) {
|
|
22
|
+
const config: IJsFixConfig = sessionContainer.resolve<IJsFixConfig>(DITokens.IJsFixConfig)
|
|
17
23
|
// use a different log delimiter as an example
|
|
18
24
|
config.logDelimiter = AsciiChars.Carat
|
|
19
|
-
const respawn = new RespawnAcceptor(config)
|
|
20
|
-
return respawn.waitFor()
|
|
21
|
-
}
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
const isInitiator = this.isInitiator(config.description)
|
|
27
|
+
if (isInitiator) {
|
|
28
|
+
sessionContainer.register<FixSession>(DITokens.FixSession, {
|
|
29
|
+
useClass: SkeletonClient
|
|
30
|
+
})
|
|
31
|
+
sessionContainer.register<FixEntity>(DITokens.FixEntity, {
|
|
32
|
+
useClass: RecoveringTcpInitiator
|
|
33
|
+
})
|
|
34
|
+
} else {
|
|
35
|
+
sessionContainer.register<FixEntity>(DITokens.FixEntity, {
|
|
36
|
+
useClass: RespawnAcceptor
|
|
37
|
+
})
|
|
38
|
+
sessionContainer.register<FixSession>(DITokens.FixSession, {
|
|
39
|
+
useClass: SkeletonServer
|
|
40
|
+
})
|
|
41
|
+
sessionContainer.register('logoutSeconds', {
|
|
42
|
+
useValue: 45
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
sessionContainer.register('logoutSeconds', {
|
|
46
|
+
useValue: 45
|
|
47
|
+
})
|
|
48
|
+
sessionContainer.register('useInMemoryStore', {
|
|
49
|
+
useValue: false
|
|
50
|
+
})
|
|
25
51
|
}
|
|
26
52
|
}
|
|
27
53
|
|
|
28
54
|
const l = new AppLauncher()
|
|
29
|
-
l.
|
|
30
|
-
console.log('finished.')
|
|
31
|
-
}).catch((e: Error) => {
|
|
32
|
-
console.error(e.message)
|
|
33
|
-
})
|
|
55
|
+
l.exec()
|
|
@@ -1,28 +1,35 @@
|
|
|
1
1
|
import { IJsFixConfig, IJsFixLogger } from '../../../config'
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { TcpAcceptorListener } from '../../../transport/tcp'
|
|
3
|
+
import { inject, injectable } from 'tsyringe'
|
|
4
|
+
import { FixEntity } from '../../../transport'
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
@injectable()
|
|
7
|
+
export class RespawnAcceptor extends FixEntity {
|
|
6
8
|
private readonly logger: IJsFixLogger
|
|
7
9
|
|
|
8
|
-
constructor (public readonly config: IJsFixConfig) {
|
|
10
|
+
constructor (@inject('IJsFixConfig') public readonly config: IJsFixConfig) {
|
|
11
|
+
super(config)
|
|
9
12
|
this.logger = config.logFactory.logger('RespawnAcceptor')
|
|
10
13
|
}
|
|
11
14
|
|
|
12
15
|
// if acceptor errors e.g. via a forced connection drop, then respawn
|
|
13
16
|
// a set number of times.
|
|
14
17
|
|
|
18
|
+
public start (): Promise<any> {
|
|
19
|
+
return this.waitFor()
|
|
20
|
+
}
|
|
21
|
+
|
|
15
22
|
public async waitFor (respawns: number = 1): Promise<any> {
|
|
16
23
|
return new Promise<any>(async (resolve, reject) => {
|
|
17
24
|
let respawned = 0
|
|
18
25
|
while (respawned <= respawns) {
|
|
19
26
|
try {
|
|
27
|
+
const sessionContainer = this.config.sessionContainer
|
|
28
|
+
const listener = sessionContainer.resolve<TcpAcceptorListener>(TcpAcceptorListener)
|
|
29
|
+
const dropConnectionTimeout = respawned === 0 ? 5 : -1
|
|
30
|
+
sessionContainer.register('dropConnectionTimeout', { useValue: dropConnectionTimeout })
|
|
20
31
|
this.logger.info(`waitFor: waiting for acceptor respawned = ${respawned}`)
|
|
21
|
-
await
|
|
22
|
-
const dropConnectionTimeout = respawned === 0 ? 5 : -1
|
|
23
|
-
this.logger.info(`waitFor: create a new acceptor session respawned = ${respawned}, dropConnectionTimeout = ${dropConnectionTimeout}`)
|
|
24
|
-
return new SkeletonServer(c, dropConnectionTimeout)
|
|
25
|
-
})
|
|
32
|
+
await listener.start()
|
|
26
33
|
break
|
|
27
34
|
} catch (e) {
|
|
28
35
|
this.logger.info(`waitFor: error in acceptor respawned = ${respawned}`)
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { MsgView } from '../../../buffer'
|
|
2
2
|
import { AsciiSession } from '../../../transport'
|
|
3
3
|
import { IJsFixLogger, IJsFixConfig } from '../../../config'
|
|
4
|
+
import { inject, injectable } from 'tsyringe'
|
|
4
5
|
|
|
6
|
+
@injectable()
|
|
5
7
|
export class SkeletonClient extends AsciiSession {
|
|
6
8
|
private readonly logger: IJsFixLogger
|
|
7
9
|
private readonly fixLog: IJsFixLogger
|
|
8
10
|
|
|
9
|
-
constructor (public readonly config: IJsFixConfig,
|
|
10
|
-
public readonly logoutSeconds: number
|
|
11
|
+
constructor (@inject('IJsFixConfig') public readonly config: IJsFixConfig,
|
|
12
|
+
@inject('logoutSeconds') public readonly logoutSeconds: number) {
|
|
11
13
|
super(config)
|
|
12
14
|
this.logReceivedMsgs = true
|
|
13
15
|
this.fixLog = config.logFactory.plain(`jsfix.${config.description.application.name}.txt`)
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { MsgView } from '../../../buffer'
|
|
2
2
|
import { AsciiSession } from '../../../transport'
|
|
3
3
|
import { IJsFixLogger, IJsFixConfig } from '../../../config'
|
|
4
|
+
import { inject, injectable } from 'tsyringe'
|
|
4
5
|
|
|
6
|
+
@injectable()
|
|
5
7
|
export class SkeletonServer extends AsciiSession {
|
|
6
8
|
private readonly logger: IJsFixLogger
|
|
7
9
|
private readonly fixLog: IJsFixLogger
|
|
8
10
|
|
|
9
|
-
constructor (public readonly config: IJsFixConfig,
|
|
10
|
-
public readonly dropConnectionTimeout: number) {
|
|
11
|
+
constructor (@inject('IJsFixConfig') public readonly config: IJsFixConfig,
|
|
12
|
+
@inject('dropConnectionTimeout') public readonly dropConnectionTimeout: number) {
|
|
11
13
|
super(config)
|
|
12
14
|
this.logReceivedMsgs = true
|
|
13
15
|
this.fixLog = config.logFactory.plain(`jsfix.${config.description.application.name}.txt`)
|
|
@@ -1,27 +1,22 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import 'reflect-metadata'
|
|
2
|
+
|
|
3
|
+
import { SessionLauncher, EngineFactory } from '../../../runtime'
|
|
3
4
|
import { SkeletonSession } from './skeleton-session'
|
|
4
|
-
import {
|
|
5
|
+
import { IJsFixConfig } from '../../../config'
|
|
5
6
|
|
|
6
|
-
class AppLauncher extends
|
|
7
|
+
class AppLauncher extends SessionLauncher {
|
|
7
8
|
public constructor () {
|
|
8
9
|
super(
|
|
9
10
|
'data/session/test-initiator.json',
|
|
10
11
|
'data/session/test-acceptor.json')
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
protected
|
|
14
|
-
return
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
protected getInitiator (config: IJsFixConfig): Promise<any> {
|
|
18
|
-
return initiator(config, c => new SkeletonSession(c))
|
|
14
|
+
protected override makeFactory (config: IJsFixConfig): EngineFactory {
|
|
15
|
+
return {
|
|
16
|
+
makeSession: () => new SkeletonSession(config, 45,false)
|
|
17
|
+
} as EngineFactory
|
|
19
18
|
}
|
|
20
19
|
}
|
|
21
20
|
|
|
22
21
|
const l = new AppLauncher()
|
|
23
|
-
l.
|
|
24
|
-
console.log('finished.')
|
|
25
|
-
}).catch((e: Error) => {
|
|
26
|
-
console.log(e.message)
|
|
27
|
-
})
|
|
22
|
+
l.exec()
|
|
@@ -2,14 +2,18 @@ import { MsgView } from '../../../buffer'
|
|
|
2
2
|
import { AsciiSession } from '../../../transport'
|
|
3
3
|
import { IJsFixLogger, IJsFixConfig } from '../../../config'
|
|
4
4
|
import { ILooseObject } from '../../../collections/collection'
|
|
5
|
+
import { FixMsgStoreRecord } from '../../../store'
|
|
6
|
+
import { inject, injectable } from 'tsyringe'
|
|
7
|
+
import { DITokens } from '../../../runtime'
|
|
5
8
|
|
|
9
|
+
@injectable()
|
|
6
10
|
export class SkeletonSession extends AsciiSession {
|
|
7
11
|
private readonly logger: IJsFixLogger
|
|
8
12
|
private readonly fixLog: IJsFixLogger
|
|
9
13
|
|
|
10
|
-
constructor (public readonly config: IJsFixConfig,
|
|
11
|
-
public readonly logoutSeconds: number
|
|
12
|
-
public useInMemoryStore: boolean
|
|
14
|
+
constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig,
|
|
15
|
+
@inject('logoutSeconds') public readonly logoutSeconds: number,
|
|
16
|
+
@inject('useInMemoryStore') public useInMemoryStore: boolean) {
|
|
13
17
|
super(config)
|
|
14
18
|
this.logReceivedMsgs = true
|
|
15
19
|
this.fixLog = config.logFactory.plain(`jsfix.${config.description.application.name}.txt`)
|
|
@@ -19,7 +23,7 @@ export class SkeletonSession extends AsciiSession {
|
|
|
19
23
|
protected onApplicationMsg (msgType: string, view: MsgView): void {
|
|
20
24
|
// dispatch messages
|
|
21
25
|
if (this.useInMemoryStore) {
|
|
22
|
-
const rec =
|
|
26
|
+
const rec = FixMsgStoreRecord.toMsgStoreRecord(view)
|
|
23
27
|
this.store.put(rec).then(r => {
|
|
24
28
|
this.logger.info(`store state ${JSON.stringify(r, null, 4)}`)
|
|
25
29
|
this.dispatch(msgType, view)
|
|
@@ -1,31 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
'data/session/test-initiator-tls.json',
|
|
10
|
-
'data/session/test-acceptor-tls.json')
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
protected getAcceptor (config: IJsFixConfig): Promise<any> {
|
|
14
|
-
return acceptor(config, c => {
|
|
15
|
-
return new TradeCaptureServer(c)
|
|
16
|
-
})
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
protected getInitiator (config: IJsFixConfig): Promise<any> {
|
|
20
|
-
return initiator(config, c => {
|
|
21
|
-
return new TradeCaptureClient(c)
|
|
22
|
-
})
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const l = new AppLauncher()
|
|
27
|
-
l.run().then(() => {
|
|
28
|
-
console.log('finished.')
|
|
29
|
-
}).catch(e => {
|
|
30
|
-
console.error(e)
|
|
31
|
-
})
|
|
1
|
+
import 'reflect-metadata'
|
|
2
|
+
import { AppLauncher } from '../trade-capture/app-launcher'
|
|
3
|
+
|
|
4
|
+
const l = new AppLauncher(
|
|
5
|
+
'data/session/test-initiator-tls.json',
|
|
6
|
+
'data/session/test-acceptor-tls.json'
|
|
7
|
+
)
|
|
8
|
+
l.exec()
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { EngineFactory, SessionLauncher } from '../../../runtime'
|
|
2
|
+
import { IJsFixConfig } from '../../../config'
|
|
3
|
+
import { TradeCaptureClient } from './trade-capture-client'
|
|
4
|
+
import { TradeCaptureServer } from './trade-capture-server'
|
|
5
|
+
|
|
6
|
+
export class AppLauncher extends SessionLauncher {
|
|
7
|
+
public constructor (client: string = 'data/session/test-initiator.json',
|
|
8
|
+
server: string = 'data/session/test-acceptor.json') {
|
|
9
|
+
super(
|
|
10
|
+
client,
|
|
11
|
+
server)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
protected override makeFactory (config: IJsFixConfig): EngineFactory {
|
|
15
|
+
const isInitiator = this.isInitiator(config.description)
|
|
16
|
+
return {
|
|
17
|
+
makeSession: () => isInitiator ?
|
|
18
|
+
new TradeCaptureClient(config) :
|
|
19
|
+
new TradeCaptureServer(config)
|
|
20
|
+
} as EngineFactory
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -1,28 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import { IJsFixConfig } from '../../../config'
|
|
4
|
-
import { Launcher } from '../../launcher'
|
|
5
|
-
import { initiator, acceptor } from '../../../transport'
|
|
6
|
-
|
|
7
|
-
class AppLauncher extends Launcher {
|
|
8
|
-
public constructor () {
|
|
9
|
-
super(
|
|
10
|
-
'data/session/test-initiator.json',
|
|
11
|
-
'data/session/test-acceptor.json')
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
protected getAcceptor (config: IJsFixConfig): Promise<any> {
|
|
15
|
-
return acceptor(config, c => new TradeCaptureServer(c))
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
protected getInitiator (config: IJsFixConfig): Promise<any> {
|
|
19
|
-
return initiator(config, c => new TradeCaptureClient(c))
|
|
20
|
-
}
|
|
21
|
-
}
|
|
1
|
+
import 'reflect-metadata'
|
|
2
|
+
import { AppLauncher } from './app-launcher'
|
|
22
3
|
|
|
23
4
|
const l = new AppLauncher()
|
|
24
|
-
l.
|
|
25
|
-
console.log('finished.')
|
|
26
|
-
}).catch(e => {
|
|
27
|
-
console.error(e)
|
|
28
|
-
})
|
|
5
|
+
l.exec()
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { MsgView } from '../../../buffer'
|
|
2
2
|
import { AsciiSession } from '../../../transport'
|
|
3
3
|
import { MsgType } from '../../../types'
|
|
4
|
-
import { ITradeCaptureReport, ITradeCaptureReportRequest,
|
|
4
|
+
import { ITradeCaptureReport, ITradeCaptureReportRequest,
|
|
5
|
+
ITradeCaptureReportRequestAck } from '../../../types/FIX4.4/repo'
|
|
5
6
|
import { IJsFixLogger, IJsFixConfig } from '../../../config'
|
|
6
7
|
import { Dictionary } from '../../../collections'
|
|
7
8
|
import { TradeFactory } from './trade-factory'
|
|
@@ -3,7 +3,8 @@ import { AsciiSession } from '../../../transport'
|
|
|
3
3
|
import { MsgType } from '../../../types'
|
|
4
4
|
import { IJsFixLogger, IJsFixConfig } from '../../../config'
|
|
5
5
|
// interfaces generated by compiler to make messages easy in an IDE
|
|
6
|
-
import { ITradeCaptureReportRequest, ITradeCaptureReport, MsgTag, SessionRejectReason,
|
|
6
|
+
import { ITradeCaptureReportRequest, ITradeCaptureReport, MsgTag, SessionRejectReason,
|
|
7
|
+
SubscriptionRequestType, TradeRequestStatus } from '../../../types/FIX4.4/repo'
|
|
7
8
|
import { TradeFactory } from './trade-factory'
|
|
8
9
|
|
|
9
10
|
export class TradeCaptureServer extends AsciiSession {
|
|
@@ -36,13 +36,19 @@ export class TradeFactory {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
public static tradeCaptureReportRequest (requestId: string, tradeDate: Date): ITradeCaptureReportRequest {
|
|
39
|
+
const d0 = tradeDate
|
|
40
|
+
const d1 = new Date(tradeDate.getTime())
|
|
41
|
+
d1.setDate(d1.getDate() + 1)
|
|
39
42
|
return {
|
|
40
43
|
TradeRequestID: 'all-trades',
|
|
41
44
|
TradeRequestType: TradeRequestType.AllTrades,
|
|
42
45
|
SubscriptionRequestType: SubscriptionRequestType.SnapshotAndUpdates,
|
|
43
46
|
TrdCapDtGrp: [
|
|
44
47
|
{
|
|
45
|
-
|
|
48
|
+
TransactTime: d0
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
TransactTime: d1
|
|
46
52
|
}
|
|
47
53
|
]
|
|
48
54
|
} as ITradeCaptureReportRequest
|
|
@@ -2,13 +2,14 @@ import { IFixMsgStore } from './fix-msg-store'
|
|
|
2
2
|
import { FixMsgStoreRecord, IFixMsgStoreRecord } from './fix-msg-store-record'
|
|
3
3
|
import { IJsFixConfig } from '../config'
|
|
4
4
|
import { MsgType } from '../types'
|
|
5
|
-
import {
|
|
5
|
+
import { ElasticBuffer, MsgView } from '../buffer'
|
|
6
|
+
import { AsciiParser } from '../buffer/ascii'
|
|
6
7
|
import { ISequenceReset, IStandardHeader } from '../types/FIX4.4/repo'
|
|
7
8
|
|
|
8
9
|
export class FixMsgAsciiStoreResend {
|
|
9
10
|
parser: AsciiParser
|
|
10
11
|
constructor (public readonly store: IFixMsgStore, public readonly config: IJsFixConfig) {
|
|
11
|
-
this.parser = new AsciiParser(this.config
|
|
12
|
+
this.parser = new AsciiParser(this.config, null, new ElasticBuffer(160 * 1024))
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
public getResendRequest (startSeq: number, endSeq: number): Promise<IFixMsgStoreRecord[]> {
|
|
@@ -3,7 +3,7 @@ import { IJsFixConfig, IJsFixLogger } from '../config'
|
|
|
3
3
|
import { IFixMsgStoreRecord } from './fix-msg-store-record'
|
|
4
4
|
import { Dictionary } from '../collections'
|
|
5
5
|
import { MsgType } from '../types'
|
|
6
|
-
import { IFixMsgStoreState } from '
|
|
6
|
+
import { IFixMsgStoreState } from './fix-msg-store-state'
|
|
7
7
|
|
|
8
8
|
export class FixMsgMemoryStore implements IFixMsgStore {
|
|
9
9
|
protected readonly logger: IJsFixLogger
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { ILooseObject } from '../collections/collection'
|
|
2
|
+
import { MsgView } from '../buffer'
|
|
3
|
+
import { MsgTag } from '../types'
|
|
2
4
|
|
|
3
5
|
export interface IFixMsgStoreRecord {
|
|
4
6
|
readonly msgType: string
|
|
@@ -17,6 +19,10 @@ export class FixMsgStoreRecord implements IFixMsgStoreRecord {
|
|
|
17
19
|
public readonly encoded?: string) {
|
|
18
20
|
}
|
|
19
21
|
|
|
22
|
+
static toMsgStoreRecord (v: MsgView): IFixMsgStoreRecord {
|
|
23
|
+
return new FixMsgStoreRecord(v.getString(MsgTag.MsgType), v.getTyped(MsgTag.SendingTime), v.getTyped(MsgTag.MsgSeqNum), v.toObject())
|
|
24
|
+
}
|
|
25
|
+
|
|
20
26
|
clone (): IFixMsgStoreRecord {
|
|
21
27
|
return new FixMsgStoreRecord(this.msgType, this.timestamp, this.seqNum, this.obj, this.encoded)
|
|
22
28
|
}
|
|
@@ -3,13 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import { IFixMsgStoreRecord } from './fix-msg-store-record'
|
|
6
|
-
|
|
7
|
-
export interface IFixMsgStoreState {
|
|
8
|
-
readonly length: number,
|
|
9
|
-
readonly firstSeq: number,
|
|
10
|
-
readonly lastSeq: number
|
|
11
|
-
readonly id: string
|
|
12
|
-
}
|
|
6
|
+
import { IFixMsgStoreState } from './fix-msg-store-state'
|
|
13
7
|
|
|
14
8
|
export interface IFixMsgStore {
|
|
15
9
|
clear (): Promise<IFixMsgStoreState>
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import { AsciiChars, AsciiEncoder, TimeFormatter } from '../../buffer'
|
|
1
|
+
import { AsciiChars, AsciiEncoder, TimeFormatter } from '../../buffer/ascii'
|
|
2
2
|
import { MsgTransmitter } from '../msg-transmitter'
|
|
3
3
|
import { ILooseObject } from '../../collections/collection'
|
|
4
|
-
import { ContainedFieldSet
|
|
4
|
+
import { ContainedFieldSet } from '../../dictionary/contained'
|
|
5
|
+
import { MessageDefinition } from '../../dictionary/definition'
|
|
5
6
|
import { IJsFixConfig } from '../../config'
|
|
6
7
|
import { IStandardHeader } from '../../types/FIX4.4/repo'
|
|
8
|
+
import { inject, injectable } from 'tsyringe'
|
|
9
|
+
import { DITokens } from '../../runtime/di-tokens'
|
|
10
|
+
import { ElasticBuffer } from '../../buffer'
|
|
7
11
|
|
|
12
|
+
@injectable()
|
|
8
13
|
export class AsciiMsgTransmitter extends MsgTransmitter {
|
|
9
14
|
public msgSeqNum: number
|
|
10
15
|
public time: Date
|
|
@@ -12,9 +17,8 @@ export class AsciiMsgTransmitter extends MsgTransmitter {
|
|
|
12
17
|
private readonly header: ContainedFieldSet
|
|
13
18
|
private readonly trailer: ContainedFieldSet
|
|
14
19
|
|
|
15
|
-
constructor (public readonly config: IJsFixConfig) {
|
|
16
|
-
|
|
17
|
-
super(config.definitions, config.description)
|
|
20
|
+
constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {
|
|
21
|
+
super(config.sessionContainer.resolve<ElasticBuffer>(DITokens.TransmitBuffer), config.definitions, config.description)
|
|
18
22
|
this.msgSeqNum = (config.description.LastSentSeqNum || 0) + 1 // adding 1 as this the next sequence # to use.
|
|
19
23
|
const buffer = this.buffer
|
|
20
24
|
const tf: TimeFormatter = new TimeFormatter(buffer)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ISessionDescription } from '../session-description'
|
|
1
|
+
import { ISessionDescription } from '../session/session-description'
|
|
2
2
|
import { ILooseObject } from '../../collections/collection'
|
|
3
3
|
import { MsgType } from '../../types'
|
|
4
|
-
import { ASessionMsgFactory, ObjectMutator } from '../a-session-msg-factory'
|
|
4
|
+
import { ASessionMsgFactory, ObjectMutator } from '../session/a-session-msg-factory'
|
|
5
5
|
|
|
6
6
|
import {
|
|
7
7
|
EncryptMethod,
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { MsgView
|
|
1
|
+
import { MsgView } from '../../buffer'
|
|
2
2
|
import { MsgTag, MsgType, SessionRejectReason } from '../../types'
|
|
3
3
|
import { IJsFixConfig } from '../../config'
|
|
4
|
-
import {
|
|
5
|
-
import { SessionState, TickAction } from '../fix-session-state'
|
|
6
|
-
import { FixSession } from '../fix-session'
|
|
4
|
+
import { FixSession } from '../session/fix-session'
|
|
7
5
|
import { FixMsgAsciiStoreResend, FixMsgMemoryStore, IFixMsgStore, IFixMsgStoreRecord } from '../../store'
|
|
6
|
+
import { SessionState } from '../tcp'
|
|
7
|
+
import { TickAction } from '../tick-action'
|
|
8
|
+
import { IMsgApplication } from '../msg-application'
|
|
9
|
+
import { SegmentType } from '../../buffer/segment/segment-type'
|
|
8
10
|
|
|
9
11
|
export abstract class AsciiSession extends FixSession {
|
|
10
12
|
|
|
@@ -127,14 +129,14 @@ export abstract class AsciiSession extends FixSession {
|
|
|
127
129
|
case SessionState.InitiationLogonResponse: {
|
|
128
130
|
const targetCompId = view.getString(MsgTag.TargetCompID)
|
|
129
131
|
if (targetCompId !== state.compId) {
|
|
130
|
-
const msg: string = `msgType ${msgType} unexpected TargetCompID ${targetCompId}`
|
|
132
|
+
const msg: string = `msgType ${msgType} unexpected TargetCompID ${targetCompId} expecting ${state.compId})`
|
|
131
133
|
this.sendReject(msgType, seqNum, msg, SessionRejectReason.CompIDProblem)
|
|
132
134
|
return false
|
|
133
135
|
}
|
|
134
136
|
|
|
135
137
|
const peerCompId = view.getString(MsgTag.SenderCompID)
|
|
136
138
|
if (peerCompId !== state.peerCompId) {
|
|
137
|
-
const msg: string = `msgType ${msgType} unexpected SenderCompID ${peerCompId}`
|
|
139
|
+
const msg: string = `msgType ${msgType} unexpected SenderCompID ${peerCompId} expecting ${state.compId}`
|
|
138
140
|
this.sendReject(msgType, seqNum, msg, SessionRejectReason.CompIDProblem)
|
|
139
141
|
return false
|
|
140
142
|
}
|
|
@@ -314,6 +316,7 @@ export abstract class AsciiSession extends FixSession {
|
|
|
314
316
|
}
|
|
315
317
|
|
|
316
318
|
private tick (): void {
|
|
319
|
+
if (!this.transport) return
|
|
317
320
|
const sessionState = this.sessionState
|
|
318
321
|
const action: TickAction = sessionState.calcAction(new Date())
|
|
319
322
|
const application: IMsgApplication = this.transport.config.description.application
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FixDuplex } from './fix-duplex'
|
|
2
2
|
import { Readable, Writable } from 'stream'
|
|
3
|
-
import { IHttpAdapter } from '../session-description'
|
|
4
3
|
import * as rp from 'request-promise-native'
|
|
4
|
+
import { IHttpAdapter } from '../http/http-adapter'
|
|
5
5
|
|
|
6
6
|
export class HttpDuplex extends FixDuplex {
|
|
7
7
|
public constructor (public readonly adapter: IHttpAdapter) {
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { FixDuplex } from './fix-duplex'
|
|
2
2
|
import * as net from 'net'
|
|
3
|
+
import { inject, injectable } from 'tsyringe'
|
|
4
|
+
import { DITokens } from '../../runtime/di-tokens'
|
|
3
5
|
|
|
6
|
+
@injectable()
|
|
4
7
|
export class TcpDuplex extends FixDuplex {
|
|
5
|
-
constructor (public readonly socket: net.Socket) {
|
|
8
|
+
constructor (@inject(DITokens.duplexParam) public readonly socket: net.Socket) {
|
|
6
9
|
super()
|
|
7
10
|
this.readable = socket
|
|
8
11
|
this.writable = socket
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './msg-transport'
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { MsgParser } from '../../buffer'
|
|
2
|
+
import { MsgTransmitter } from '../msg-transmitter'
|
|
3
|
+
import { FixDuplex } from '../duplex'
|
|
4
|
+
import { IJsFixConfig } from '../../config'
|
|
5
|
+
import { DITokens } from '../../runtime/di-tokens'
|
|
6
|
+
import { Readable } from 'stream'
|
|
7
|
+
import { inject, injectable } from 'tsyringe'
|
|
8
|
+
|
|
9
|
+
@injectable()
|
|
10
|
+
export class MsgTransport {
|
|
11
|
+
public readonly transmitter: MsgTransmitter
|
|
12
|
+
public readonly receiver: MsgParser
|
|
13
|
+
|
|
14
|
+
constructor (@inject(DITokens.sessionId) public readonly id: number,
|
|
15
|
+
@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig,
|
|
16
|
+
@inject(DITokens.FixDuplex) public readonly duplex: FixDuplex) {
|
|
17
|
+
|
|
18
|
+
const delimiter = config.delimiter
|
|
19
|
+
if (!delimiter) {
|
|
20
|
+
throw new Error(`no delimiter char given.`)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const sessionContainer = this.config.sessionContainer
|
|
24
|
+
sessionContainer.registerInstance<Readable>(DITokens.readStream, this.duplex.readable)
|
|
25
|
+
|
|
26
|
+
// let parser replace delimiter with Pipe so fix log does not require
|
|
27
|
+
// expensive replace
|
|
28
|
+
|
|
29
|
+
this.transmitter = sessionContainer.resolve<MsgTransmitter>(DITokens.MsgTransmitter)
|
|
30
|
+
this.receiver = sessionContainer.resolve<MsgParser>(DITokens.MsgParser)
|
|
31
|
+
|
|
32
|
+
// pipe the encoder to say a socket.
|
|
33
|
+
if (duplex.writable) {
|
|
34
|
+
this.transmitter.encodeStream.pipe(duplex.writable)
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public end (): void {
|
|
39
|
+
this.duplex.end()
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public wait (): Promise<any> {
|
|
43
|
+
return new Promise<any>((resolve, reject) => {
|
|
44
|
+
this.receiver.on('end', () => {
|
|
45
|
+
resolve(this.id)
|
|
46
|
+
})
|
|
47
|
+
this.receiver.on('error', (e) => {
|
|
48
|
+
reject(e)
|
|
49
|
+
})
|
|
50
|
+
this.transmitter.on('error', (e) => {
|
|
51
|
+
reject(e)
|
|
52
|
+
})
|
|
53
|
+
})
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as events from 'events'
|
|
2
|
-
import { MsgTransport } from './
|
|
3
|
-
import { IMsgApplication } from './session-description'
|
|
2
|
+
import { MsgTransport } from './factory'
|
|
4
3
|
import { INumericKeyed } from '../collections/collection'
|
|
4
|
+
import { IMsgApplication } from './msg-application'
|
|
5
5
|
|
|
6
6
|
export abstract class FixAcceptor extends events.EventEmitter {
|
|
7
7
|
public transports: INumericKeyed<MsgTransport> = {}
|