jspurefix 1.1.2 → 1.4.1

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.
Files changed (602) hide show
  1. package/.travis.yml +1 -1
  2. package/README.md +48 -2
  3. package/appveyor.yml +43 -11
  4. package/data/FIX44-MD.xml +6596 -0
  5. package/data/examples/FIX.4.4/jsfix.test_client.txt +15 -13
  6. package/data/session/test-qf44-acceptor.json +21 -0
  7. package/data/session/test-qf44-initiator.json +22 -0
  8. package/dist/buffer/ascii/ascii-encoder.d.ts +9 -2
  9. package/dist/buffer/ascii/ascii-encoder.js +72 -31
  10. package/dist/buffer/ascii/ascii-encoder.js.map +1 -1
  11. package/dist/buffer/ascii/ascii-parser.d.ts +1 -0
  12. package/dist/buffer/ascii/ascii-parser.js +7 -1
  13. package/dist/buffer/ascii/ascii-parser.js.map +1 -1
  14. package/dist/buffer/ascii/ascii-segment-parser.d.ts +0 -2
  15. package/dist/buffer/ascii/ascii-segment-parser.js +19 -25
  16. package/dist/buffer/ascii/ascii-segment-parser.js.map +1 -1
  17. package/dist/buffer/ascii/ascii-view.d.ts +2 -0
  18. package/dist/buffer/ascii/ascii-view.js +4 -0
  19. package/dist/buffer/ascii/ascii-view.js.map +1 -1
  20. package/dist/buffer/ascii/time-formatter.js.map +1 -1
  21. package/dist/buffer/ascii-chars.d.ts +1 -0
  22. package/dist/buffer/ascii-chars.js +1 -0
  23. package/dist/buffer/ascii-chars.js.map +1 -1
  24. package/dist/buffer/elastic-buffer.d.ts +1 -0
  25. package/dist/buffer/elastic-buffer.js +8 -0
  26. package/dist/buffer/elastic-buffer.js.map +1 -1
  27. package/dist/buffer/encode-proxy.js.map +1 -1
  28. package/dist/buffer/fixml/fixml-encoder.d.ts +3 -0
  29. package/dist/buffer/fixml/fixml-encoder.js +6 -0
  30. package/dist/buffer/fixml/fixml-encoder.js.map +1 -1
  31. package/dist/buffer/fixml/fixml-view.d.ts +2 -0
  32. package/dist/buffer/fixml/fixml-view.js +3 -0
  33. package/dist/buffer/fixml/fixml-view.js.map +1 -1
  34. package/dist/buffer/msg-encoder.d.ts +2 -0
  35. package/dist/buffer/msg-encoder.js.map +1 -1
  36. package/dist/buffer/msg-view.d.ts +2 -0
  37. package/dist/buffer/msg-view.js.map +1 -1
  38. package/dist/buffer/tags.js +5 -5
  39. package/dist/buffer/tags.js.map +1 -1
  40. package/dist/collections/dictionary.d.ts +1 -0
  41. package/dist/collections/dictionary.js +5 -0
  42. package/dist/collections/dictionary.js.map +1 -1
  43. package/dist/config/js-fix-config.d.ts +2 -0
  44. package/dist/config/js-fix-config.js +1 -0
  45. package/dist/config/js-fix-config.js.map +1 -1
  46. package/dist/dict-parser.js +2 -2
  47. package/dist/dict-parser.js.map +1 -1
  48. package/dist/dictionary/parser/quickfix/field-set-parser.js +11 -4
  49. package/dist/dictionary/parser/quickfix/field-set-parser.js.map +1 -1
  50. package/dist/dictionary/parser/quickfix/message-parser.js +4 -0
  51. package/dist/dictionary/parser/quickfix/message-parser.js.map +1 -1
  52. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.d.ts +1 -0
  53. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js +15 -0
  54. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js.map +1 -1
  55. package/dist/jsfix-cmd.js +2 -1
  56. package/dist/jsfix-cmd.js.map +1 -1
  57. package/dist/sample/http/oms/app.js +2 -0
  58. package/dist/sample/http/oms/app.js.map +1 -1
  59. package/dist/sample/launcher.d.ts +3 -2
  60. package/dist/sample/launcher.js +12 -3
  61. package/dist/sample/launcher.js.map +1 -1
  62. package/dist/sample/tcp/{trade_capture → qf-md}/app.d.ts +0 -0
  63. package/dist/sample/tcp/qf-md/app.js +22 -0
  64. package/dist/sample/tcp/qf-md/app.js.map +1 -0
  65. package/dist/sample/tcp/qf-md/md-client.d.ts +15 -0
  66. package/dist/sample/tcp/qf-md/md-client.js +42 -0
  67. package/dist/sample/tcp/qf-md/md-client.js.map +1 -0
  68. package/dist/sample/tcp/qf-md/md-factory.d.ts +4 -0
  69. package/dist/sample/tcp/qf-md/md-factory.js +35 -0
  70. package/dist/sample/tcp/qf-md/md-factory.js.map +1 -0
  71. package/dist/sample/tcp/qf-md/md-server.d.ts +16 -0
  72. package/dist/sample/tcp/qf-md/md-server.js +44 -0
  73. package/dist/sample/tcp/qf-md/md-server.js.map +1 -0
  74. package/dist/sample/tcp/recovering-skeleton/app.d.ts +1 -0
  75. package/dist/sample/tcp/recovering-skeleton/app.js +27 -0
  76. package/dist/sample/tcp/recovering-skeleton/app.js.map +1 -0
  77. package/dist/sample/tcp/recovering-skeleton/respawn-2.d.ts +2 -0
  78. package/dist/sample/tcp/recovering-skeleton/respawn-2.js +3 -0
  79. package/dist/sample/tcp/recovering-skeleton/respawn-2.js.map +1 -0
  80. package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.d.ts +7 -0
  81. package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js +52 -0
  82. package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js.map +1 -0
  83. package/dist/sample/tcp/recovering-skeleton/skeleton-client.d.ts +16 -0
  84. package/dist/sample/tcp/recovering-skeleton/skeleton-client.js +45 -0
  85. package/dist/sample/tcp/recovering-skeleton/skeleton-client.js.map +1 -0
  86. package/dist/sample/tcp/recovering-skeleton/skeleton-server.d.ts +16 -0
  87. package/dist/sample/tcp/recovering-skeleton/skeleton-server.js +52 -0
  88. package/dist/sample/tcp/recovering-skeleton/skeleton-server.js.map +1 -0
  89. package/dist/sample/tcp/skeleton/app.js +2 -0
  90. package/dist/sample/tcp/skeleton/app.js.map +1 -1
  91. package/dist/sample/tcp/skeleton/skeleton-session.d.ts +5 -1
  92. package/dist/sample/tcp/skeleton/skeleton-session.js +22 -3
  93. package/dist/sample/tcp/skeleton/skeleton-session.js.map +1 -1
  94. package/dist/sample/tcp/tls-trade-capture/app.js +1 -1
  95. package/dist/sample/tcp/tls-trade-capture/app.js.map +1 -1
  96. package/dist/sample/tcp/trade-capture/app.d.ts +1 -0
  97. package/dist/sample/tcp/{trade_capture → trade-capture}/app.js +0 -0
  98. package/dist/sample/tcp/{trade_capture → trade-capture}/app.js.map +1 -1
  99. package/dist/sample/tcp/{trade_capture → trade-capture}/index.d.ts +0 -0
  100. package/dist/sample/tcp/{trade_capture → trade-capture}/index.js +0 -0
  101. package/dist/sample/tcp/{trade_capture → trade-capture}/index.js.map +1 -1
  102. package/dist/sample/tcp/{trade_capture → trade-capture}/trade-capture-client.d.ts +1 -0
  103. package/dist/sample/tcp/{trade_capture → trade-capture}/trade-capture-client.js +8 -4
  104. package/dist/sample/tcp/trade-capture/trade-capture-client.js.map +1 -0
  105. package/dist/sample/tcp/{trade_capture → trade-capture}/trade-capture-server.d.ts +0 -0
  106. package/dist/sample/tcp/{trade_capture → trade-capture}/trade-capture-server.js +1 -1
  107. package/dist/sample/tcp/trade-capture/trade-capture-server.js.map +1 -0
  108. package/dist/sample/tcp/{trade_capture → trade-capture}/trade-factory.d.ts +0 -0
  109. package/dist/sample/tcp/{trade_capture → trade-capture}/trade-factory.js +0 -0
  110. package/dist/sample/tcp/{trade_capture → trade-capture}/trade-factory.js.map +1 -1
  111. package/dist/store/fix-msg-ascii-store-resend.d.ts +6 -2
  112. package/dist/store/fix-msg-ascii-store-resend.js +49 -22
  113. package/dist/store/fix-msg-ascii-store-resend.js.map +1 -1
  114. package/dist/store/fix-msg-memory-store.d.ts +11 -8
  115. package/dist/store/fix-msg-memory-store.js +108 -42
  116. package/dist/store/fix-msg-memory-store.js.map +1 -1
  117. package/dist/store/fix-msg-store-record.d.ts +7 -3
  118. package/dist/store/fix-msg-store-record.js +5 -1
  119. package/dist/store/fix-msg-store-record.js.map +1 -1
  120. package/dist/store/fix-msg-store.d.ts +13 -9
  121. package/dist/store/fix-msg-store.js.map +1 -1
  122. package/dist/test/ascii-encode.test.js +20 -3
  123. package/dist/test/ascii-encode.test.js.map +1 -1
  124. package/dist/test/ascii-encoder.test.d.ts +1 -0
  125. package/dist/test/ascii-encoder.test.js +505 -0
  126. package/dist/test/ascii-encoder.test.js.map +1 -0
  127. package/dist/test/ascii-parser.test.js +8 -6
  128. package/dist/test/ascii-parser.test.js.map +1 -1
  129. package/dist/test/ascii-segment.test.js +6 -5
  130. package/dist/test/ascii-segment.test.js.map +1 -1
  131. package/dist/test/ascii-store-replay.test.js +59 -44
  132. package/dist/test/ascii-store-replay.test.js.map +1 -1
  133. package/dist/test/logon.test.js +1 -1
  134. package/dist/test/logon.test.js.map +1 -1
  135. package/dist/test/memory-store.test.js +24 -19
  136. package/dist/test/memory-store.test.js.map +1 -1
  137. package/dist/test/qf-full-msg.test.js +19 -14
  138. package/dist/test/qf-full-msg.test.js.map +1 -1
  139. package/dist/test/repo-full-ascii-msg.test.js +17 -15
  140. package/dist/test/repo-full-ascii-msg.test.js.map +1 -1
  141. package/dist/test/repo-full-fixml-msg.test.js +14 -14
  142. package/dist/test/repo-full-fixml-msg.test.js.map +1 -1
  143. package/dist/test/session-state.test.js +2 -2
  144. package/dist/test/session-state.test.js.map +1 -1
  145. package/dist/test/session.test.js +263 -143
  146. package/dist/test/session.test.js.map +1 -1
  147. package/dist/test/view-decode.test.js +2 -1
  148. package/dist/test/view-decode.test.js.map +1 -1
  149. package/dist/transport/a-session-msg-factory.d.ts +23 -0
  150. package/dist/transport/a-session-msg-factory.js +58 -0
  151. package/dist/transport/a-session-msg-factory.js.map +1 -0
  152. package/dist/transport/ascii/ascii-msg-transmitter.d.ts +1 -0
  153. package/dist/transport/ascii/ascii-msg-transmitter.js +39 -8
  154. package/dist/transport/ascii/ascii-msg-transmitter.js.map +1 -1
  155. package/dist/transport/ascii/ascii-session-msg-factory.d.ts +16 -0
  156. package/dist/transport/ascii/ascii-session-msg-factory.js +47 -0
  157. package/dist/transport/ascii/ascii-session-msg-factory.js.map +1 -0
  158. package/dist/transport/ascii/ascii-session.d.ts +10 -2
  159. package/dist/transport/ascii/ascii-session.js +86 -31
  160. package/dist/transport/ascii/ascii-session.js.map +1 -1
  161. package/dist/transport/ascii/index.d.ts +1 -0
  162. package/dist/transport/ascii/index.js +1 -0
  163. package/dist/transport/ascii/index.js.map +1 -1
  164. package/dist/transport/ascii-session-msg-factory.d.ts +16 -0
  165. package/dist/transport/ascii-session-msg-factory.js +47 -0
  166. package/dist/transport/ascii-session-msg-factory.js.map +1 -0
  167. package/dist/transport/duplex/http-duplex.js +2 -2
  168. package/dist/transport/duplex/http-duplex.js.map +1 -1
  169. package/dist/transport/fix-msg-factory.d.ts +1 -1
  170. package/dist/transport/fix-msg-factory.js.map +1 -1
  171. package/dist/transport/fix-session-state.d.ts +38 -12
  172. package/dist/transport/fix-session-state.js +49 -15
  173. package/dist/transport/fix-session-state.js.map +1 -1
  174. package/dist/transport/fix-session.d.ts +13 -6
  175. package/dist/transport/fix-session.js +143 -39
  176. package/dist/transport/fix-session.js.map +1 -1
  177. package/dist/transport/fixml/fixml-session-msg-factory.d.ts +13 -0
  178. package/dist/transport/fixml/fixml-session-msg-factory.js +68 -0
  179. package/dist/transport/fixml/fixml-session-msg-factory.js.map +1 -0
  180. package/dist/transport/fixml/fixml-session.js +1 -1
  181. package/dist/transport/fixml/fixml-session.js.map +1 -1
  182. package/dist/transport/fixml/index.d.ts +2 -1
  183. package/dist/transport/fixml/index.js +2 -1
  184. package/dist/transport/fixml/index.js.map +1 -1
  185. package/dist/transport/fixml-session-msg-factory.d.ts +13 -0
  186. package/dist/transport/fixml-session-msg-factory.js +68 -0
  187. package/dist/transport/fixml-session-msg-factory.js.map +1 -0
  188. package/dist/transport/http/http-acceptor.js +8 -7
  189. package/dist/transport/http/http-acceptor.js.map +1 -1
  190. package/dist/transport/index.d.ts +1 -1
  191. package/dist/transport/index.js +1 -1
  192. package/dist/transport/index.js.map +1 -1
  193. package/dist/transport/msg-transmitter.js +4 -3
  194. package/dist/transport/msg-transmitter.js.map +1 -1
  195. package/dist/transport/msg-transport.js +3 -2
  196. package/dist/transport/msg-transport.js.map +1 -1
  197. package/dist/transport/session-description.d.ts +1 -1
  198. package/dist/transport/session-description.js.map +1 -1
  199. package/dist/transport/session-msg-factory.d.ts +2 -2
  200. package/dist/transport/session-msg-factory.js +2 -2
  201. package/dist/transport/session-msg-factory.js.map +1 -1
  202. package/dist/transport/tcp/acceptor.js +5 -3
  203. package/dist/transport/tcp/acceptor.js.map +1 -1
  204. package/dist/transport/tcp/index.d.ts +1 -0
  205. package/dist/transport/tcp/index.js +1 -0
  206. package/dist/transport/tcp/index.js.map +1 -1
  207. package/dist/transport/tcp/initiator.js +1 -0
  208. package/dist/transport/tcp/initiator.js.map +1 -1
  209. package/dist/transport/tcp/recovering-initiator.d.ts +17 -0
  210. package/dist/transport/tcp/recovering-initiator.js +30 -0
  211. package/dist/transport/tcp/recovering-initiator.js.map +1 -0
  212. package/dist/transport/tcp/recovering-tcp-initiator.d.ts +28 -0
  213. package/dist/transport/tcp/recovering-tcp-initiator.js +120 -0
  214. package/dist/transport/tcp/recovering-tcp-initiator.js.map +1 -0
  215. package/dist/transport/tcp/tcp-acceptor.d.ts +7 -0
  216. package/dist/transport/tcp/tcp-acceptor.js +43 -11
  217. package/dist/transport/tcp/tcp-acceptor.js.map +1 -1
  218. package/dist/transport/tcp/tcp-initiator.d.ts +4 -0
  219. package/dist/transport/tcp/tcp-initiator.js +72 -35
  220. package/dist/transport/tcp/tcp-initiator.js.map +1 -1
  221. package/dist/types/FIX4.4/quickfix/advertisement.d.ts +4 -0
  222. package/dist/types/FIX4.4/quickfix/advertisement.js.map +1 -1
  223. package/dist/types/FIX4.4/quickfix/allocation_instruction.d.ts +4 -0
  224. package/dist/types/FIX4.4/quickfix/allocation_instruction.js.map +1 -1
  225. package/dist/types/FIX4.4/quickfix/allocation_instruction_ack.d.ts +4 -0
  226. package/dist/types/FIX4.4/quickfix/allocation_instruction_ack.js.map +1 -1
  227. package/dist/types/FIX4.4/quickfix/allocation_report.d.ts +4 -0
  228. package/dist/types/FIX4.4/quickfix/allocation_report.js.map +1 -1
  229. package/dist/types/FIX4.4/quickfix/allocation_report_ack.d.ts +4 -0
  230. package/dist/types/FIX4.4/quickfix/allocation_report_ack.js.map +1 -1
  231. package/dist/types/FIX4.4/quickfix/assignment_report.d.ts +4 -0
  232. package/dist/types/FIX4.4/quickfix/assignment_report.js.map +1 -1
  233. package/dist/types/FIX4.4/quickfix/bid_request.d.ts +4 -0
  234. package/dist/types/FIX4.4/quickfix/bid_request.js.map +1 -1
  235. package/dist/types/FIX4.4/quickfix/bid_response.d.ts +4 -0
  236. package/dist/types/FIX4.4/quickfix/bid_response.js.map +1 -1
  237. package/dist/types/FIX4.4/quickfix/business_message_reject.d.ts +4 -0
  238. package/dist/types/FIX4.4/quickfix/business_message_reject.js.map +1 -1
  239. package/dist/types/FIX4.4/quickfix/collateral_assignment.d.ts +4 -0
  240. package/dist/types/FIX4.4/quickfix/collateral_assignment.js.map +1 -1
  241. package/dist/types/FIX4.4/quickfix/collateral_inquiry.d.ts +4 -0
  242. package/dist/types/FIX4.4/quickfix/collateral_inquiry.js.map +1 -1
  243. package/dist/types/FIX4.4/quickfix/collateral_inquiry_ack.d.ts +4 -0
  244. package/dist/types/FIX4.4/quickfix/collateral_inquiry_ack.js.map +1 -1
  245. package/dist/types/FIX4.4/quickfix/collateral_report.d.ts +4 -0
  246. package/dist/types/FIX4.4/quickfix/collateral_report.js.map +1 -1
  247. package/dist/types/FIX4.4/quickfix/collateral_request.d.ts +4 -0
  248. package/dist/types/FIX4.4/quickfix/collateral_request.js.map +1 -1
  249. package/dist/types/FIX4.4/quickfix/collateral_response.d.ts +4 -0
  250. package/dist/types/FIX4.4/quickfix/collateral_response.js.map +1 -1
  251. package/dist/types/FIX4.4/quickfix/confirmation.d.ts +4 -0
  252. package/dist/types/FIX4.4/quickfix/confirmation.js.map +1 -1
  253. package/dist/types/FIX4.4/quickfix/confirmation_ack.d.ts +4 -0
  254. package/dist/types/FIX4.4/quickfix/confirmation_ack.js.map +1 -1
  255. package/dist/types/FIX4.4/quickfix/confirmation_request.d.ts +4 -0
  256. package/dist/types/FIX4.4/quickfix/confirmation_request.js.map +1 -1
  257. package/dist/types/FIX4.4/quickfix/cross_order_cancel_replace_request.d.ts +4 -0
  258. package/dist/types/FIX4.4/quickfix/cross_order_cancel_replace_request.js.map +1 -1
  259. package/dist/types/FIX4.4/quickfix/cross_order_cancel_request.d.ts +4 -0
  260. package/dist/types/FIX4.4/quickfix/cross_order_cancel_request.js.map +1 -1
  261. package/dist/types/FIX4.4/quickfix/derivative_security_list.d.ts +4 -0
  262. package/dist/types/FIX4.4/quickfix/derivative_security_list.js.map +1 -1
  263. package/dist/types/FIX4.4/quickfix/derivative_security_list_request.d.ts +4 -0
  264. package/dist/types/FIX4.4/quickfix/derivative_security_list_request.js.map +1 -1
  265. package/dist/types/FIX4.4/quickfix/dont_know_trade.d.ts +4 -0
  266. package/dist/types/FIX4.4/quickfix/dont_know_trade.js.map +1 -1
  267. package/dist/types/FIX4.4/quickfix/email.d.ts +4 -0
  268. package/dist/types/FIX4.4/quickfix/email.js.map +1 -1
  269. package/dist/types/FIX4.4/quickfix/execution_report.d.ts +4 -0
  270. package/dist/types/FIX4.4/quickfix/execution_report.js.map +1 -1
  271. package/dist/types/FIX4.4/quickfix/heartbeat.d.ts +4 -0
  272. package/dist/types/FIX4.4/quickfix/heartbeat.js.map +1 -1
  273. package/dist/types/FIX4.4/quickfix/index.d.ts +4 -0
  274. package/dist/types/FIX4.4/quickfix/index.js +4 -0
  275. package/dist/types/FIX4.4/quickfix/index.js.map +1 -1
  276. package/dist/types/FIX4.4/quickfix/ioi.d.ts +4 -0
  277. package/dist/types/FIX4.4/quickfix/ioi.js.map +1 -1
  278. package/dist/types/FIX4.4/quickfix/list_cancel_request.d.ts +4 -0
  279. package/dist/types/FIX4.4/quickfix/list_cancel_request.js.map +1 -1
  280. package/dist/types/FIX4.4/quickfix/list_execute.d.ts +4 -0
  281. package/dist/types/FIX4.4/quickfix/list_execute.js.map +1 -1
  282. package/dist/types/FIX4.4/quickfix/list_status.d.ts +4 -0
  283. package/dist/types/FIX4.4/quickfix/list_status.js.map +1 -1
  284. package/dist/types/FIX4.4/quickfix/list_status_request.d.ts +4 -0
  285. package/dist/types/FIX4.4/quickfix/list_status_request.js.map +1 -1
  286. package/dist/types/FIX4.4/quickfix/list_strike_price.d.ts +4 -0
  287. package/dist/types/FIX4.4/quickfix/list_strike_price.js.map +1 -1
  288. package/dist/types/FIX4.4/quickfix/logon.d.ts +4 -0
  289. package/dist/types/FIX4.4/quickfix/logon.js.map +1 -1
  290. package/dist/types/FIX4.4/quickfix/logout.d.ts +4 -0
  291. package/dist/types/FIX4.4/quickfix/logout.js.map +1 -1
  292. package/dist/types/FIX4.4/quickfix/market_data_incremental_refresh.d.ts +4 -0
  293. package/dist/types/FIX4.4/quickfix/market_data_incremental_refresh.js.map +1 -1
  294. package/dist/types/FIX4.4/quickfix/market_data_request.d.ts +4 -0
  295. package/dist/types/FIX4.4/quickfix/market_data_request.js.map +1 -1
  296. package/dist/types/FIX4.4/quickfix/market_data_request_reject.d.ts +4 -0
  297. package/dist/types/FIX4.4/quickfix/market_data_request_reject.js.map +1 -1
  298. package/dist/types/FIX4.4/quickfix/market_data_snapshot_full_refresh.d.ts +4 -0
  299. package/dist/types/FIX4.4/quickfix/market_data_snapshot_full_refresh.js.map +1 -1
  300. package/dist/types/FIX4.4/quickfix/mass_quote.d.ts +4 -0
  301. package/dist/types/FIX4.4/quickfix/mass_quote.js.map +1 -1
  302. package/dist/types/FIX4.4/quickfix/mass_quote_acknowledgement.d.ts +4 -0
  303. package/dist/types/FIX4.4/quickfix/mass_quote_acknowledgement.js.map +1 -1
  304. package/dist/types/FIX4.4/quickfix/multileg_order_cancel_replace.d.ts +4 -0
  305. package/dist/types/FIX4.4/quickfix/multileg_order_cancel_replace.js.map +1 -1
  306. package/dist/types/FIX4.4/quickfix/network_counterparty_system_status_request.d.ts +4 -0
  307. package/dist/types/FIX4.4/quickfix/network_counterparty_system_status_request.js.map +1 -1
  308. package/dist/types/FIX4.4/quickfix/network_counterparty_system_status_response.d.ts +4 -0
  309. package/dist/types/FIX4.4/quickfix/network_counterparty_system_status_response.js.map +1 -1
  310. package/dist/types/FIX4.4/quickfix/new_order_cross.d.ts +4 -0
  311. package/dist/types/FIX4.4/quickfix/new_order_cross.js.map +1 -1
  312. package/dist/types/FIX4.4/quickfix/new_order_list.d.ts +4 -0
  313. package/dist/types/FIX4.4/quickfix/new_order_list.js.map +1 -1
  314. package/dist/types/FIX4.4/quickfix/new_order_multileg.d.ts +4 -0
  315. package/dist/types/FIX4.4/quickfix/new_order_multileg.js.map +1 -1
  316. package/dist/types/FIX4.4/quickfix/new_order_single.d.ts +4 -0
  317. package/dist/types/FIX4.4/quickfix/new_order_single.js.map +1 -1
  318. package/dist/types/FIX4.4/quickfix/news.d.ts +4 -0
  319. package/dist/types/FIX4.4/quickfix/news.js.map +1 -1
  320. package/dist/types/FIX4.4/quickfix/order_cancel_reject.d.ts +4 -0
  321. package/dist/types/FIX4.4/quickfix/order_cancel_reject.js.map +1 -1
  322. package/dist/types/FIX4.4/quickfix/order_cancel_replace_request.d.ts +4 -0
  323. package/dist/types/FIX4.4/quickfix/order_cancel_replace_request.js.map +1 -1
  324. package/dist/types/FIX4.4/quickfix/order_cancel_request.d.ts +4 -0
  325. package/dist/types/FIX4.4/quickfix/order_cancel_request.js.map +1 -1
  326. package/dist/types/FIX4.4/quickfix/order_mass_cancel_report.d.ts +4 -0
  327. package/dist/types/FIX4.4/quickfix/order_mass_cancel_report.js.map +1 -1
  328. package/dist/types/FIX4.4/quickfix/order_mass_cancel_request.d.ts +4 -0
  329. package/dist/types/FIX4.4/quickfix/order_mass_cancel_request.js.map +1 -1
  330. package/dist/types/FIX4.4/quickfix/order_mass_status_request.d.ts +4 -0
  331. package/dist/types/FIX4.4/quickfix/order_mass_status_request.js.map +1 -1
  332. package/dist/types/FIX4.4/quickfix/order_status_request.d.ts +4 -0
  333. package/dist/types/FIX4.4/quickfix/order_status_request.js.map +1 -1
  334. package/dist/types/FIX4.4/quickfix/position_maintenance_report.d.ts +4 -0
  335. package/dist/types/FIX4.4/quickfix/position_maintenance_report.js.map +1 -1
  336. package/dist/types/FIX4.4/quickfix/position_maintenance_request.d.ts +4 -0
  337. package/dist/types/FIX4.4/quickfix/position_maintenance_request.js.map +1 -1
  338. package/dist/types/FIX4.4/quickfix/position_report.d.ts +4 -0
  339. package/dist/types/FIX4.4/quickfix/position_report.js.map +1 -1
  340. package/dist/types/FIX4.4/quickfix/quote.d.ts +4 -0
  341. package/dist/types/FIX4.4/quickfix/quote.js.map +1 -1
  342. package/dist/types/FIX4.4/quickfix/quote_cancel.d.ts +4 -0
  343. package/dist/types/FIX4.4/quickfix/quote_cancel.js.map +1 -1
  344. package/dist/types/FIX4.4/quickfix/quote_request.d.ts +4 -0
  345. package/dist/types/FIX4.4/quickfix/quote_request.js.map +1 -1
  346. package/dist/types/FIX4.4/quickfix/quote_request_reject.d.ts +4 -0
  347. package/dist/types/FIX4.4/quickfix/quote_request_reject.js.map +1 -1
  348. package/dist/types/FIX4.4/quickfix/quote_response.d.ts +4 -0
  349. package/dist/types/FIX4.4/quickfix/quote_response.js.map +1 -1
  350. package/dist/types/FIX4.4/quickfix/quote_status_report.d.ts +4 -0
  351. package/dist/types/FIX4.4/quickfix/quote_status_report.js.map +1 -1
  352. package/dist/types/FIX4.4/quickfix/quote_status_request.d.ts +4 -0
  353. package/dist/types/FIX4.4/quickfix/quote_status_request.js.map +1 -1
  354. package/dist/types/FIX4.4/quickfix/registration_instructions.d.ts +4 -0
  355. package/dist/types/FIX4.4/quickfix/registration_instructions.js.map +1 -1
  356. package/dist/types/FIX4.4/quickfix/registration_instructions_response.d.ts +4 -0
  357. package/dist/types/FIX4.4/quickfix/registration_instructions_response.js.map +1 -1
  358. package/dist/types/FIX4.4/quickfix/reject.d.ts +4 -0
  359. package/dist/types/FIX4.4/quickfix/reject.js.map +1 -1
  360. package/dist/types/FIX4.4/quickfix/request_for_positions.d.ts +4 -0
  361. package/dist/types/FIX4.4/quickfix/request_for_positions.js.map +1 -1
  362. package/dist/types/FIX4.4/quickfix/request_for_positions_ack.d.ts +4 -0
  363. package/dist/types/FIX4.4/quickfix/request_for_positions_ack.js.map +1 -1
  364. package/dist/types/FIX4.4/quickfix/resend_request.d.ts +4 -0
  365. package/dist/types/FIX4.4/quickfix/resend_request.js.map +1 -1
  366. package/dist/types/FIX4.4/quickfix/rfq_request.d.ts +4 -0
  367. package/dist/types/FIX4.4/quickfix/rfq_request.js.map +1 -1
  368. package/dist/types/FIX4.4/quickfix/security_definition.d.ts +4 -0
  369. package/dist/types/FIX4.4/quickfix/security_definition.js.map +1 -1
  370. package/dist/types/FIX4.4/quickfix/security_definition_request.d.ts +4 -0
  371. package/dist/types/FIX4.4/quickfix/security_definition_request.js.map +1 -1
  372. package/dist/types/FIX4.4/quickfix/security_list.d.ts +4 -0
  373. package/dist/types/FIX4.4/quickfix/security_list.js.map +1 -1
  374. package/dist/types/FIX4.4/quickfix/security_list_request.d.ts +4 -0
  375. package/dist/types/FIX4.4/quickfix/security_list_request.js.map +1 -1
  376. package/dist/types/FIX4.4/quickfix/security_status.d.ts +4 -0
  377. package/dist/types/FIX4.4/quickfix/security_status.js.map +1 -1
  378. package/dist/types/FIX4.4/quickfix/security_status_request.d.ts +4 -0
  379. package/dist/types/FIX4.4/quickfix/security_status_request.js.map +1 -1
  380. package/dist/types/FIX4.4/quickfix/security_type_request.d.ts +4 -0
  381. package/dist/types/FIX4.4/quickfix/security_type_request.js.map +1 -1
  382. package/dist/types/FIX4.4/quickfix/security_types.d.ts +4 -0
  383. package/dist/types/FIX4.4/quickfix/security_types.js.map +1 -1
  384. package/dist/types/FIX4.4/quickfix/sequence_reset.d.ts +4 -0
  385. package/dist/types/FIX4.4/quickfix/sequence_reset.js.map +1 -1
  386. package/dist/types/FIX4.4/quickfix/set/header.d.ts +31 -0
  387. package/dist/types/FIX4.4/quickfix/set/header.js +3 -0
  388. package/dist/types/FIX4.4/quickfix/set/header.js.map +1 -0
  389. package/dist/types/FIX4.4/quickfix/set/hop.d.ts +4 -0
  390. package/dist/types/FIX4.4/quickfix/set/hop.js +3 -0
  391. package/dist/types/FIX4.4/quickfix/set/hop.js.map +1 -0
  392. package/dist/types/FIX4.4/quickfix/set/hop_no_hops.d.ts +5 -0
  393. package/dist/types/FIX4.4/quickfix/set/hop_no_hops.js +3 -0
  394. package/dist/types/FIX4.4/quickfix/set/hop_no_hops.js.map +1 -0
  395. package/dist/types/FIX4.4/quickfix/set/standard_header.d.ts +31 -0
  396. package/dist/types/FIX4.4/quickfix/set/standard_header.js +3 -0
  397. package/dist/types/FIX4.4/quickfix/set/standard_header.js.map +1 -0
  398. package/dist/types/FIX4.4/quickfix/set/standard_trailer.d.ts +6 -0
  399. package/dist/types/FIX4.4/quickfix/set/standard_trailer.js +3 -0
  400. package/dist/types/FIX4.4/quickfix/set/standard_trailer.js.map +1 -0
  401. package/dist/types/FIX4.4/quickfix/set/trailer.d.ts +6 -0
  402. package/dist/types/FIX4.4/quickfix/set/trailer.js +3 -0
  403. package/dist/types/FIX4.4/quickfix/set/trailer.js.map +1 -0
  404. package/dist/types/FIX4.4/quickfix/settlement_instruction_request.d.ts +4 -0
  405. package/dist/types/FIX4.4/quickfix/settlement_instruction_request.js.map +1 -1
  406. package/dist/types/FIX4.4/quickfix/settlement_instructions.d.ts +4 -0
  407. package/dist/types/FIX4.4/quickfix/settlement_instructions.js.map +1 -1
  408. package/dist/types/FIX4.4/quickfix/test_request.d.ts +4 -0
  409. package/dist/types/FIX4.4/quickfix/test_request.js.map +1 -1
  410. package/dist/types/FIX4.4/quickfix/trade_capture_report.d.ts +4 -0
  411. package/dist/types/FIX4.4/quickfix/trade_capture_report.js.map +1 -1
  412. package/dist/types/FIX4.4/quickfix/trade_capture_report_ack.d.ts +4 -0
  413. package/dist/types/FIX4.4/quickfix/trade_capture_report_ack.js.map +1 -1
  414. package/dist/types/FIX4.4/quickfix/trade_capture_report_request.d.ts +4 -0
  415. package/dist/types/FIX4.4/quickfix/trade_capture_report_request.js.map +1 -1
  416. package/dist/types/FIX4.4/quickfix/trade_capture_report_request_ack.d.ts +4 -0
  417. package/dist/types/FIX4.4/quickfix/trade_capture_report_request_ack.js.map +1 -1
  418. package/dist/types/FIX4.4/quickfix/trading_session_status.d.ts +4 -0
  419. package/dist/types/FIX4.4/quickfix/trading_session_status.js.map +1 -1
  420. package/dist/types/FIX4.4/quickfix/trading_session_status_request.d.ts +4 -0
  421. package/dist/types/FIX4.4/quickfix/trading_session_status_request.js.map +1 -1
  422. package/dist/types/FIX4.4/quickfix/user_request.d.ts +4 -0
  423. package/dist/types/FIX4.4/quickfix/user_request.js.map +1 -1
  424. package/dist/types/FIX4.4/quickfix/user_response.d.ts +4 -0
  425. package/dist/types/FIX4.4/quickfix/user_response.js.map +1 -1
  426. package/dist/types/FIX4.4/quickfix/xm_lnon_fix.d.ts +4 -0
  427. package/dist/types/FIX4.4/quickfix/xm_lnon_fix.js.map +1 -1
  428. package/dist/types/FIX4.4/repo/enum/all-enum.js.map +1 -1
  429. package/package.json +25 -21
  430. package/script/build.sh +1 -0
  431. package/src/buffer/ascii/ascii-encoder.ts +110 -33
  432. package/src/buffer/ascii/ascii-parser.ts +8 -1
  433. package/src/buffer/ascii/ascii-segment-parser.ts +44 -38
  434. package/src/buffer/ascii/ascii-view.ts +5 -0
  435. package/src/buffer/ascii/time-formatter.ts +2 -2
  436. package/src/buffer/ascii-chars.ts +1 -0
  437. package/src/buffer/elastic-buffer.ts +9 -0
  438. package/src/buffer/encode-proxy.ts +2 -2
  439. package/src/buffer/fixml/fixml-encoder.ts +8 -0
  440. package/src/buffer/fixml/fixml-view.ts +5 -0
  441. package/src/buffer/msg-encoder.ts +2 -0
  442. package/src/buffer/msg-view.ts +3 -0
  443. package/src/buffer/tags.ts +1 -1
  444. package/src/collections/dictionary.ts +6 -0
  445. package/src/config/js-fix-config.ts +2 -0
  446. package/src/dictionary/parser/quickfix/field-set-parser.ts +11 -4
  447. package/src/dictionary/parser/quickfix/message-parser.ts +4 -0
  448. package/src/dictionary/parser/quickfix/quick-fix-xml-file-parser.ts +16 -0
  449. package/src/jsfix-cmd.ts +2 -1
  450. package/src/sample/http/oms/app.ts +2 -0
  451. package/src/sample/launcher.ts +17 -7
  452. package/src/sample/tcp/qf-md/app.ts +26 -0
  453. package/src/sample/tcp/qf-md/md-client.ts +51 -0
  454. package/src/sample/tcp/qf-md/md-factory.ts +34 -0
  455. package/src/sample/tcp/qf-md/md-server.ts +56 -0
  456. package/src/sample/tcp/recovering-skeleton/app.ts +33 -0
  457. package/src/sample/tcp/recovering-skeleton/respawn-acceptor.ts +41 -0
  458. package/src/sample/tcp/recovering-skeleton/skeleton-client.ts +54 -0
  459. package/src/sample/tcp/recovering-skeleton/skeleton-server.ts +60 -0
  460. package/src/sample/tcp/skeleton/app.ts +2 -0
  461. package/src/sample/tcp/skeleton/skeleton-session.ts +26 -4
  462. package/src/sample/tcp/tls-trade-capture/app.ts +1 -1
  463. package/src/sample/tcp/{trade_capture → trade-capture}/app.ts +0 -0
  464. package/src/sample/tcp/{trade_capture → trade-capture}/index.ts +0 -0
  465. package/src/sample/tcp/{trade_capture → trade-capture}/trade-capture-client.ts +10 -5
  466. package/src/sample/tcp/{trade_capture → trade-capture}/trade-capture-server.ts +2 -2
  467. package/src/sample/tcp/{trade_capture → trade-capture}/trade-factory.ts +0 -0
  468. package/src/store/fix-msg-ascii-store-resend.ts +87 -0
  469. package/src/store/fix-msg-memory-store.ts +171 -0
  470. package/src/store/fix-msg-store-record.ts +23 -0
  471. package/src/store/fix-msg-store.ts +23 -0
  472. package/src/store/index.ts +4 -0
  473. package/src/transport/a-session-msg-factory.ts +81 -0
  474. package/src/transport/ascii/ascii-msg-transmitter.ts +32 -11
  475. package/src/transport/ascii/ascii-session-msg-factory.ts +62 -0
  476. package/src/transport/ascii/ascii-session.ts +100 -36
  477. package/src/transport/ascii/index.ts +1 -0
  478. package/src/transport/duplex/http-duplex.ts +2 -2
  479. package/src/transport/fix-msg-factory.ts +1 -1
  480. package/src/transport/fix-session-state.ts +67 -15
  481. package/src/transport/fix-session.ts +156 -43
  482. package/src/transport/fixml/fixml-session-msg-factory.ts +76 -0
  483. package/src/transport/fixml/fixml-session.ts +1 -1
  484. package/src/transport/fixml/index.ts +2 -1
  485. package/src/transport/http/http-acceptor.ts +7 -6
  486. package/src/transport/index.ts +1 -1
  487. package/src/transport/msg-transmitter.ts +4 -3
  488. package/src/transport/msg-transport.ts +3 -2
  489. package/src/transport/session-description.ts +1 -1
  490. package/src/transport/tcp/acceptor.ts +5 -3
  491. package/src/transport/tcp/index.ts +1 -0
  492. package/src/transport/tcp/initiator.ts +1 -0
  493. package/src/transport/tcp/recovering-tcp-initiator.ts +149 -0
  494. package/src/transport/tcp/tcp-acceptor.ts +46 -11
  495. package/src/transport/tcp/tcp-initiator.ts +77 -40
  496. package/src/types/FIX4.4/quickfix/advertisement.ts +4 -0
  497. package/src/types/FIX4.4/quickfix/allocation_instruction.ts +4 -0
  498. package/src/types/FIX4.4/quickfix/allocation_instruction_ack.ts +4 -0
  499. package/src/types/FIX4.4/quickfix/allocation_report.ts +4 -0
  500. package/src/types/FIX4.4/quickfix/allocation_report_ack.ts +4 -0
  501. package/src/types/FIX4.4/quickfix/assignment_report.ts +4 -0
  502. package/src/types/FIX4.4/quickfix/bid_request.ts +4 -0
  503. package/src/types/FIX4.4/quickfix/bid_response.ts +4 -0
  504. package/src/types/FIX4.4/quickfix/business_message_reject.ts +5 -0
  505. package/src/types/FIX4.4/quickfix/collateral_assignment.ts +4 -0
  506. package/src/types/FIX4.4/quickfix/collateral_inquiry.ts +4 -0
  507. package/src/types/FIX4.4/quickfix/collateral_inquiry_ack.ts +4 -0
  508. package/src/types/FIX4.4/quickfix/collateral_report.ts +4 -0
  509. package/src/types/FIX4.4/quickfix/collateral_request.ts +4 -0
  510. package/src/types/FIX4.4/quickfix/collateral_response.ts +4 -0
  511. package/src/types/FIX4.4/quickfix/confirmation.ts +4 -0
  512. package/src/types/FIX4.4/quickfix/confirmation_ack.ts +5 -0
  513. package/src/types/FIX4.4/quickfix/confirmation_request.ts +4 -0
  514. package/src/types/FIX4.4/quickfix/cross_order_cancel_replace_request.ts +4 -0
  515. package/src/types/FIX4.4/quickfix/cross_order_cancel_request.ts +4 -0
  516. package/src/types/FIX4.4/quickfix/derivative_security_list.ts +4 -0
  517. package/src/types/FIX4.4/quickfix/derivative_security_list_request.ts +4 -0
  518. package/src/types/FIX4.4/quickfix/dont_know_trade.ts +4 -0
  519. package/src/types/FIX4.4/quickfix/email.ts +4 -0
  520. package/src/types/FIX4.4/quickfix/execution_report.ts +4 -0
  521. package/src/types/FIX4.4/quickfix/heartbeat.ts +5 -0
  522. package/src/types/FIX4.4/quickfix/index.ts +4 -0
  523. package/src/types/FIX4.4/quickfix/ioi.ts +4 -0
  524. package/src/types/FIX4.4/quickfix/list_cancel_request.ts +5 -0
  525. package/src/types/FIX4.4/quickfix/list_execute.ts +6 -1
  526. package/src/types/FIX4.4/quickfix/list_status.ts +4 -0
  527. package/src/types/FIX4.4/quickfix/list_status_request.ts +5 -0
  528. package/src/types/FIX4.4/quickfix/list_strike_price.ts +4 -0
  529. package/src/types/FIX4.4/quickfix/logon.ts +4 -0
  530. package/src/types/FIX4.4/quickfix/logout.ts +6 -1
  531. package/src/types/FIX4.4/quickfix/market_data_incremental_refresh.ts +4 -0
  532. package/src/types/FIX4.4/quickfix/market_data_request.ts +4 -0
  533. package/src/types/FIX4.4/quickfix/market_data_request_reject.ts +4 -0
  534. package/src/types/FIX4.4/quickfix/market_data_snapshot_full_refresh.ts +4 -0
  535. package/src/types/FIX4.4/quickfix/mass_quote.ts +4 -0
  536. package/src/types/FIX4.4/quickfix/mass_quote_acknowledgement.ts +4 -0
  537. package/src/types/FIX4.4/quickfix/multileg_order_cancel_replace.ts +4 -0
  538. package/src/types/FIX4.4/quickfix/network_counterparty_system_status_request.ts +4 -0
  539. package/src/types/FIX4.4/quickfix/network_counterparty_system_status_response.ts +4 -0
  540. package/src/types/FIX4.4/quickfix/new_order_cross.ts +4 -0
  541. package/src/types/FIX4.4/quickfix/new_order_list.ts +4 -0
  542. package/src/types/FIX4.4/quickfix/new_order_multileg.ts +4 -0
  543. package/src/types/FIX4.4/quickfix/new_order_single.ts +4 -0
  544. package/src/types/FIX4.4/quickfix/news.ts +4 -0
  545. package/src/types/FIX4.4/quickfix/order_cancel_reject.ts +5 -0
  546. package/src/types/FIX4.4/quickfix/order_cancel_replace_request.ts +4 -0
  547. package/src/types/FIX4.4/quickfix/order_cancel_request.ts +4 -0
  548. package/src/types/FIX4.4/quickfix/order_mass_cancel_report.ts +4 -0
  549. package/src/types/FIX4.4/quickfix/order_mass_cancel_request.ts +4 -0
  550. package/src/types/FIX4.4/quickfix/order_mass_status_request.ts +4 -0
  551. package/src/types/FIX4.4/quickfix/order_status_request.ts +4 -0
  552. package/src/types/FIX4.4/quickfix/position_maintenance_report.ts +4 -0
  553. package/src/types/FIX4.4/quickfix/position_maintenance_request.ts +4 -0
  554. package/src/types/FIX4.4/quickfix/position_report.ts +4 -0
  555. package/src/types/FIX4.4/quickfix/quote.ts +4 -0
  556. package/src/types/FIX4.4/quickfix/quote_cancel.ts +4 -0
  557. package/src/types/FIX4.4/quickfix/quote_request.ts +4 -0
  558. package/src/types/FIX4.4/quickfix/quote_request_reject.ts +4 -0
  559. package/src/types/FIX4.4/quickfix/quote_response.ts +4 -0
  560. package/src/types/FIX4.4/quickfix/quote_status_report.ts +4 -0
  561. package/src/types/FIX4.4/quickfix/quote_status_request.ts +4 -0
  562. package/src/types/FIX4.4/quickfix/registration_instructions.ts +4 -0
  563. package/src/types/FIX4.4/quickfix/registration_instructions_response.ts +4 -0
  564. package/src/types/FIX4.4/quickfix/reject.ts +6 -1
  565. package/src/types/FIX4.4/quickfix/request_for_positions.ts +4 -0
  566. package/src/types/FIX4.4/quickfix/request_for_positions_ack.ts +4 -0
  567. package/src/types/FIX4.4/quickfix/resend_request.ts +5 -0
  568. package/src/types/FIX4.4/quickfix/rfq_request.ts +4 -0
  569. package/src/types/FIX4.4/quickfix/security_definition.ts +4 -0
  570. package/src/types/FIX4.4/quickfix/security_definition_request.ts +4 -0
  571. package/src/types/FIX4.4/quickfix/security_list.ts +4 -0
  572. package/src/types/FIX4.4/quickfix/security_list_request.ts +4 -0
  573. package/src/types/FIX4.4/quickfix/security_status.ts +4 -0
  574. package/src/types/FIX4.4/quickfix/security_status_request.ts +4 -0
  575. package/src/types/FIX4.4/quickfix/security_type_request.ts +5 -0
  576. package/src/types/FIX4.4/quickfix/security_types.ts +4 -0
  577. package/src/types/FIX4.4/quickfix/sequence_reset.ts +5 -0
  578. package/src/types/FIX4.4/quickfix/set/hop.ts +5 -0
  579. package/src/types/FIX4.4/quickfix/set/hop_no_hops.ts +5 -0
  580. package/src/types/FIX4.4/quickfix/set/standard_header.ts +31 -0
  581. package/src/types/FIX4.4/quickfix/set/standard_trailer.ts +5 -0
  582. package/src/types/FIX4.4/quickfix/settlement_instruction_request.ts +4 -0
  583. package/src/types/FIX4.4/quickfix/settlement_instructions.ts +4 -0
  584. package/src/types/FIX4.4/quickfix/test_request.ts +5 -0
  585. package/src/types/FIX4.4/quickfix/trade_capture_report.ts +4 -0
  586. package/src/types/FIX4.4/quickfix/trade_capture_report_ack.ts +4 -0
  587. package/src/types/FIX4.4/quickfix/trade_capture_report_request.ts +4 -0
  588. package/src/types/FIX4.4/quickfix/trade_capture_report_request_ack.ts +4 -0
  589. package/src/types/FIX4.4/quickfix/trading_session_status.ts +5 -0
  590. package/src/types/FIX4.4/quickfix/trading_session_status_request.ts +5 -0
  591. package/src/types/FIX4.4/quickfix/user_request.ts +5 -0
  592. package/src/types/FIX4.4/quickfix/user_response.ts +5 -0
  593. package/src/types/FIX4.4/quickfix/xm_lnon_fix.ts +5 -0
  594. package/src/types/FIX4.4/repo/enum/all-enum.ts +0 -1
  595. package/dist/sample/tcp/tls-trade-capture/jsfix.test_client.txt +0 -77
  596. package/dist/sample/tcp/tls-trade-capture/jsfix.test_server.txt +0 -77
  597. package/dist/sample/tcp/trade_capture/jsfix.test_client.txt +0 -75
  598. package/dist/sample/tcp/trade_capture/jsfix.test_server.txt +0 -75
  599. package/dist/sample/tcp/trade_capture/trade-capture-client.js.map +0 -1
  600. package/dist/sample/tcp/trade_capture/trade-capture-server.js.map +0 -1
  601. package/src/transport/session-msg-factory.ts +0 -195
  602. package/src/transport/tcp/resilient-initiator.ts +0 -35
@@ -0,0 +1,149 @@
1
+ import { IMsgApplication, ITcpTransportDescription } from '../session-description'
2
+ import { IJsFixConfig, IJsFixLogger } from '../../config'
3
+ import { MakeFixSession } from '../make-fixl-session'
4
+ import { FixSession } from '../fix-session'
5
+ import { SessionState } from '../fix-session-state'
6
+ import { TcpInitiator } from './tcp-initiator'
7
+ import { MsgTransport } from '../msg-transport'
8
+ import * as events from 'events'
9
+ import Timeout = NodeJS.Timeout
10
+
11
+ /*
12
+ create one application session instance - and recover a lost transport. Hence the application
13
+ will automatically re-connected and the "message recovery" policy enacted i.e. replay from
14
+ last known sequence number or sequence reset.
15
+ */
16
+
17
+ export class RecoveringTcpInitiator extends events.EventEmitter {
18
+ public tcp: ITcpTransportDescription
19
+ public session: FixSession
20
+ private readonly logger: IJsFixLogger
21
+ private application: IMsgApplication
22
+ private initiator: TcpInitiator
23
+ private transport: MsgTransport
24
+ private th: Timeout = null
25
+ public recoveryAttemptSecs: number = 5
26
+ public backoffFailConnectSecs: number = 30
27
+
28
+ constructor (public readonly jsFixConfig: IJsFixConfig, public readonly sessionFactory: MakeFixSession) {
29
+ super()
30
+ this.application = this.jsFixConfig.description.application
31
+ this.logger = jsFixConfig.logFactory.logger(`${this.application.name}:RecoveringTcpInitiator`)
32
+ if (!this.application) {
33
+ const e: Error = new Error(`no application in session description.`)
34
+ this.logger.error(e)
35
+ throw e
36
+ }
37
+ this.tcp = this.application.tcp
38
+ if (!this.tcp) {
39
+ const e = new Error(`no tcp in session description need tcp { host: hostname, port: port }`)
40
+ this.logger.error(e)
41
+ throw e
42
+ }
43
+ this.createSession(jsFixConfig, sessionFactory)
44
+ }
45
+
46
+ private createSession (jsFixConfig: IJsFixConfig, sessionFactory: MakeFixSession) {
47
+ this.logger.info('creating an application session')
48
+ this.session = sessionFactory(jsFixConfig)
49
+ this.session.on('done', () => {
50
+ this.logger.info('session has permanently ended')
51
+ this.emit('end', this)
52
+ })
53
+ this.session.on('end', () => {
54
+ this.logger.info('session has permanently ended')
55
+ this.emit('end', this)
56
+ })
57
+ this.session.setState(SessionState.DisconnectedNoConnectionToday)
58
+ }
59
+
60
+ public getState (): SessionState {
61
+ return this.session.getState()
62
+ }
63
+
64
+ private newTransport (transport: MsgTransport) {
65
+ this.transport = transport
66
+ this.emit('transport', transport)
67
+ this.logger.info(`initiator connects id ${(transport.id)}`)
68
+ const session = this.session
69
+ session.setState(SessionState.NetworkConnectionEstablished)
70
+ session.run(transport).then((id: number) => {
71
+ if (!transport || id === transport.id) {
72
+ this.emit('end', this)
73
+ } else {
74
+ this.logger.info(`old transport ${id} ends waiting on ${(transport.id)}`)
75
+ }
76
+ }).catch(e => {
77
+ this.logger.info(`transport id ${(transport.id)} failed - session state ${session.getState()}`)
78
+ this.logger.error(e.message)
79
+ this.recover()
80
+ })
81
+ this.logger.info(`running session with transport ${transport.id} state = ${session.getState()}`)
82
+ }
83
+
84
+ private clearTimer () {
85
+ if (this.th) {
86
+ clearTimeout(this.th)
87
+ this.th = null
88
+ }
89
+ }
90
+
91
+ // at least one connection was established so retry to establish - either
92
+ // succeed in which case can restart session or fails in which case wait and
93
+ // restart an attempt to connect
94
+
95
+ private recover (): void {
96
+ this.session.setState(SessionState.DetectBrokenNetworkConnection)
97
+ this.logger.info(`recover session transport - attempt in ${this.recoveryAttemptSecs} secs`)
98
+ this.th = setTimeout(() => {
99
+ this.connect(60).then(t => {
100
+ this.logger.info(`new transport ${t.id}`)
101
+ }).catch((e) => {
102
+ this.logger.info(`failed to re-connect ${e.message} - backoff for ${this.backoffFailConnectSecs}`)
103
+ this.th = setTimeout(() => {
104
+ this.logger.info('returning to recover()')
105
+ this.recover()
106
+ }, this.backoffFailConnectSecs * 1000)
107
+ })
108
+ },this.recoveryAttemptSecs * 1000)
109
+ }
110
+
111
+ // for first connection - reject if no initial connection established within timeout
112
+ // once connection established, will not resolve until session is ended - i.e. lost
113
+ // connections are re-established using the same session instance.
114
+
115
+ public run (initialTimeout: number = 60): Promise<any> {
116
+ return new Promise<any>((resolve, reject) => {
117
+ this.connect(initialTimeout).then(() => {
118
+ this.on('end', () => {
119
+ this.clearTimer()
120
+ this.initiator.end()
121
+ this.logger.info(`run: transport ${this.transport.id} gracefully ends ${initialTimeout} - resolving`)
122
+ resolve(null)
123
+ })
124
+ }).catch(e => {
125
+ this.logger.info(`run: failed to connect to first transport ${initialTimeout} - rejecting`)
126
+ reject(e)
127
+ })
128
+ })
129
+ }
130
+
131
+ // return a promise for new transport - or reject if no connection within timeout
132
+
133
+ private connect (timeout: number): Promise<MsgTransport> {
134
+ return new Promise<MsgTransport>((resolve, reject) => {
135
+ this.logger.info(`connect: start initiator timeout ${timeout}`)
136
+ this.session.setState(SessionState.InitiateConnection)
137
+ this.initiator = new TcpInitiator(this.jsFixConfig)
138
+ this.initiator.connect(timeout).then((transport: MsgTransport) => {
139
+ this.logger.info(`connect: receive new transport ${transport.id}`)
140
+ this.newTransport(transport)
141
+ resolve(transport)
142
+ }).catch(e => {
143
+ this.logger.info(`connect: failed to connect within ${timeout} - rejecting`)
144
+ this.session.setState(SessionState.DetectBrokenNetworkConnection)
145
+ reject(e)
146
+ })
147
+ })
148
+ }
149
+ }
@@ -9,14 +9,34 @@ import { createServer as tlsCreateServer, TLSSocket, TlsOptions } from 'tls'
9
9
  export class TcpAcceptor extends FixAcceptor {
10
10
  private server: Server
11
11
  private logger: IJsFixLogger
12
+ private nextId: number = 0
13
+
12
14
  constructor (public readonly config: IJsFixConfig) {
13
15
  super(config.description.application)
14
16
  this.logger = config.logFactory.logger(`${config.description.application.name}:TcpAcceptor`)
15
- let nextId: number = 0
16
- const tcp = this.config.description.application.tcp
17
- const tlsOptions: TlsOptions = getTlsOptions(tcp.tls)
18
- this.logger.info('creating server')
17
+ const tlsOptions: TlsOptions = this.tlsOptions()
19
18
  if (tlsOptions) {
19
+ this.tlsServer()
20
+ } else {
21
+ this.unsecureServer()
22
+ }
23
+ this.server.on('error', ((err: Error) => {
24
+ throw err
25
+ }))
26
+ }
27
+
28
+ getId (): number {
29
+ this.nextId++
30
+ const id: number = this.nextId
31
+ return id
32
+ }
33
+
34
+ tlsServer (): void {
35
+ try {
36
+ const config: IJsFixConfig = this.config
37
+ const tcp = this.config.description.application.tcp
38
+ const tlsOptions: TlsOptions = getTlsOptions(tcp.tls)
39
+ this.logger.info(`create tls server`)
20
40
  this.server = tlsCreateServer(tlsOptions, (tlsSocket: TLSSocket) => {
21
41
  if (tcp.tls.enableTrace) {
22
42
  this.logger.info(`enabling tls session trace`)
@@ -24,24 +44,39 @@ export class TcpAcceptor extends FixAcceptor {
24
44
  }
25
45
  if (tlsSocket.authorized) {
26
46
  tlsSocket.setEncoding('utf8')
27
- const id: number = nextId++
47
+ const id: number = this.getId()
28
48
  this.logger.info(`tls creates session ${id} ${tlsSocket.authorized}`)
29
49
  this.onSocket(id, tlsSocket, config)
30
50
  } else {
31
51
  this.logger.info(`no transport created on tls with no authorized connection`)
32
52
  }
33
53
  })
34
- } else {
54
+ } catch (e) {
55
+ this.logger.error(e)
56
+ throw e
57
+ }
58
+ }
59
+
60
+ unsecureServer () {
61
+ try {
62
+ const config = this.config
63
+ this.logger.info(`create unsecured server`)
35
64
  this.server = netCreateServer((socket: Socket) => {
36
- const id: number = nextId++
37
- this.logger.info(`net creates session ${id} }`)
65
+ const id: number = this.getId()
66
+ this.logger.info(`net creates session ${id}`)
38
67
  socket.setNoDelay(true)
39
68
  this.onSocket(id, socket, config)
40
69
  })
70
+ } catch (e) {
71
+ this.logger.error(e)
72
+ throw e
41
73
  }
42
- this.server.on('error', ((err: Error) => {
43
- throw err
44
- }))
74
+ }
75
+
76
+ tlsOptions (): TlsOptions {
77
+ const tcp = this.config.description.application.tcp
78
+ const tlsOptions: TlsOptions = getTlsOptions(tcp.tls)
79
+ return tlsOptions
45
80
  }
46
81
 
47
82
  private onSocket (id: number, socket: Socket, config: IJsFixConfig) {
@@ -6,9 +6,10 @@ import { IJsFixConfig, IJsFixLogger } from '../../config'
6
6
  import { TcpDuplex, FixDuplex } from '../duplex'
7
7
 
8
8
  import * as util from 'util'
9
- import { connect as tlsConnect, TLSSocket } from 'tls'
9
+ import { connect as tlsConnect, ConnectionOptions, TLSSocket } from 'tls'
10
10
  import { getTlsConnectionOptions } from './tls-options'
11
- import { Socket, createConnection } from 'net'
11
+ import { createConnection } from 'net'
12
+ import Timeout = NodeJS.Timeout
12
13
 
13
14
  export enum InitiatorState {
14
15
  Idle = 1,
@@ -22,6 +23,7 @@ export class TcpInitiator extends FixInitiator {
22
23
  public state: InitiatorState = InitiatorState.Idle
23
24
  private readonly logger: IJsFixLogger
24
25
  private duplex: FixDuplex
26
+ private th: Timeout = null
25
27
 
26
28
  constructor (public readonly jsFixConfig: IJsFixConfig) {
27
29
  super(jsFixConfig.description.application)
@@ -40,6 +42,7 @@ export class TcpInitiator extends FixInitiator {
40
42
  }
41
43
 
42
44
  public end (): void {
45
+ this.clearTimer()
43
46
  switch (this.state) {
44
47
  case InitiatorState.Connected: {
45
48
  this.logger.info('end')
@@ -50,6 +53,8 @@ export class TcpInitiator extends FixInitiator {
50
53
 
51
54
  default: {
52
55
  this.logger.info(`end :state ${this.state}`)
56
+ this.state = InitiatorState.Stopped
57
+ break
53
58
  }
54
59
  }
55
60
  }
@@ -75,66 +80,98 @@ export class TcpInitiator extends FixInitiator {
75
80
  })
76
81
  }
77
82
 
78
- private tryConnect (): Promise<MsgTransport> {
79
- return new Promise<MsgTransport>((resolve, reject) => {
80
- const tcp = this.tcp
81
- this.logger.info(`tryConnect ${tcp.host}:${tcp.port}`)
82
- const connectionOptions: any = getTlsConnectionOptions(tcp)
83
- let socket: Socket = null
84
- let tlsSocket: TLSSocket = null
85
- if (connectionOptions) {
86
- tlsSocket = tlsConnect(connectionOptions, () => {
87
- this.logger.info(`client connected ${tlsSocket.authorized ? 'authorized' : 'unauthorized'}`)
88
- if (!tlsSocket.authorized) {
89
- this.logger.warning(`rejecting from state ${this.state} authorizationError ${tlsSocket.authorizationError}`)
90
- tlsSocket.end()
91
- reject(tlsSocket.authorizationError)
92
- } else {
93
- tlsSocket.setEncoding('utf8')
94
- this.duplex = new TcpDuplex(tlsSocket)
95
- resolve(new MsgTransport(0, this.jsFixConfig, this.duplex))
83
+ private unsecureDuplex (): Promise<TcpDuplex> {
84
+ const tcp = this.tcp
85
+ return new Promise<TcpDuplex>((resolve, reject) => {
86
+ try {
87
+ this.logger.info(`unsecureDuplex try to connect to endPoint`)
88
+ const socket = createConnection(tcp, () => {
89
+ try {
90
+ this.logger.info(`net.createConnection cb, resolving`)
91
+ const tcpDuplex = new TcpDuplex(socket)
92
+ resolve(tcpDuplex)
93
+ } catch (e) {
94
+ reject(e)
96
95
  }
97
96
  })
97
+ } catch (e) {
98
+ reject(e)
99
+ }
100
+ })
101
+ }
98
102
 
99
- if (tcp.tls.enableTrace) {
100
- this.logger.info(`enabling tls session trace`)
101
- tlsSocket.enableTrace()
102
- }
103
-
104
- tlsSocket.on('error', (e) => {
105
- reject(e)
106
- })
107
- } else {
108
- socket = createConnection(tcp, () => {
109
- this.logger.info(`net.createConnection cb, resolving`)
110
- this.duplex = new TcpDuplex(socket)
111
- resolve(new MsgTransport(0, this.jsFixConfig, this.duplex))
112
- socket.on('error', (e) => {
113
- reject(e)
103
+ private tlsDuplex (): Promise < TcpDuplex > {
104
+ return new Promise<TcpDuplex>((resolve, reject) => {
105
+ let tlsSocket: TLSSocket = null
106
+ const tcp = this.tcp
107
+ const connectionOptions: ConnectionOptions = getTlsConnectionOptions(tcp)
108
+ if (connectionOptions) {
109
+ try {
110
+ tlsSocket = tlsConnect(connectionOptions, () => {
111
+ this.logger.info(`client connected ${tlsSocket.authorized ? 'authorized' : 'unauthorized'}`)
112
+ if (!tlsSocket.authorized) {
113
+ const error = tlsSocket.authorizationError
114
+ this.logger.warning(`rejecting from state ${this.state} authorizationError ${error}`)
115
+ tlsSocket.end()
116
+ reject(error)
117
+ } else {
118
+ tlsSocket.setEncoding('utf8')
119
+ const tlsDuplex = new TcpDuplex(tlsSocket)
120
+ if (tcp.tls.enableTrace) {
121
+ this.logger.info(`enabling tls session trace`)
122
+ tlsSocket.enableTrace()
123
+ }
124
+ this.logger.info(`tlsDuplex resolving`)
125
+ resolve(tlsDuplex)
126
+ }
114
127
  })
115
- })
128
+ } catch (e) {
129
+ reject(e)
130
+ }
116
131
  }
117
132
  })
118
133
  }
119
134
 
120
- private repeatConnect (timeoutSeconds: number): Promise<MsgTransport> {
135
+ private tryConnect (): Promise < MsgTransport > {
136
+ return new Promise<MsgTransport>((resolve, reject) => {
137
+ const tcp = this.tcp
138
+ const connectionOptions: ConnectionOptions = getTlsConnectionOptions(tcp)
139
+ const connector = connectionOptions ? this.tlsDuplex() : this.unsecureDuplex()
140
+ this.logger.info(`tryConnect ${tcp.host}:${tcp.port}`)
141
+ connector.then(duplex => {
142
+ this.duplex = duplex
143
+ resolve(new MsgTransport(0, this.jsFixConfig, duplex))
144
+ }).catch(e => {
145
+ reject(e)
146
+ })
147
+ })
148
+ }
149
+
150
+ public clearTimer () {
151
+ if (this .th) {
152
+ clearInterval(this.th)
153
+ this.th = null
154
+ }
155
+ }
156
+
157
+ private repeatConnect (timeoutSeconds: number): Promise < MsgTransport > {
121
158
  return new Promise<MsgTransport>(async (resolve, reject) => {
122
159
  const application = this.application
123
160
  const promisify = util.promisify
124
161
  const timeoutPromise = promisify(setTimeout)
125
162
  let retries = 0
126
- let timer = setInterval(() => {
163
+ this.th = setInterval(() => {
127
164
  ++retries
128
165
  this.tryConnect().then((t: MsgTransport) => {
129
166
  this.state = InitiatorState.Connected
130
- clearInterval(timer)
167
+ this.clearTimer()
131
168
  resolve(t)
132
169
  }).catch((e: Error) => {
133
170
  this.logger.info(`${application.name}: retries ${retries} ${e.message}`)
134
171
  })
135
172
  }, application.reconnectSeconds * 1000)
136
173
  timeoutPromise(timeoutSeconds * 1000).then(() => {
137
- clearInterval(timer)
174
+ this.clearTimer()
138
175
  this.state = InitiatorState.Stopped
139
176
  const e = new Error(`${application.name}: timeout of ${timeoutSeconds} whilst connecting`)
140
177
  this.logger.warning(`repeatConnect reject with message ${e.message}`)
@@ -1,8 +1,11 @@
1
+ import { IStandardHeader } from './set/standard_header'
1
2
  import { IInstrument } from './set/instrument'
2
3
  import { IInstrmtLegGrp } from './set/instrmt_leg_grp'
3
4
  import { IUndInstrmtGrp } from './set/und_instrmt_grp'
5
+ import { IStandardTrailer } from './set/standard_trailer'
4
6
 
5
7
  export interface IAdvertisement {
8
+ StandardHeader: IStandardHeader
6
9
  AdvId: string// 2
7
10
  AdvTransType: string// 5
8
11
  AdvRefID?: string// 3
@@ -23,4 +26,5 @@ export interface IAdvertisement {
23
26
  LastMkt?: string// 30
24
27
  TradingSessionID?: string// 336
25
28
  TradingSessionSubID?: string// 625
29
+ StandardTrailer: IStandardTrailer
26
30
  }
@@ -1,3 +1,4 @@
1
+ import { IStandardHeader } from './set/standard_header'
1
2
  import { IOrdAllocGrp } from './set/ord_alloc_grp'
2
3
  import { IExecAllocGrp } from './set/exec_alloc_grp'
3
4
  import { IInstrument } from './set/instrument'
@@ -10,8 +11,10 @@ import { IParties } from './set/parties'
10
11
  import { IStipulations } from './set/stipulations'
11
12
  import { IYieldData } from './set/yield_data'
12
13
  import { IAllocGrp } from './set/alloc_grp'
14
+ import { IStandardTrailer } from './set/standard_trailer'
13
15
 
14
16
  export interface IAllocationInstruction {
17
+ StandardHeader: IStandardHeader
15
18
  AllocID: string// 70
16
19
  AllocTransType: string// 71
17
20
  AllocType: number// 626
@@ -75,4 +78,5 @@ export interface IAllocationInstruction {
75
78
  TotNoAllocs?: number// 892
76
79
  LastFragment?: boolean// 893
77
80
  AllocGrp?: IAllocGrp
81
+ StandardTrailer: IStandardTrailer
78
82
  }
@@ -1,7 +1,10 @@
1
+ import { IStandardHeader } from './set/standard_header'
1
2
  import { IParties } from './set/parties'
2
3
  import { IAllocAckGrp } from './set/alloc_ack_grp'
4
+ import { IStandardTrailer } from './set/standard_trailer'
3
5
 
4
6
  export interface IAllocationInstructionAck {
7
+ StandardHeader: IStandardHeader
5
8
  AllocID: string// 70
6
9
  Parties?: IParties
7
10
  SecondaryAllocID?: string// 793
@@ -18,4 +21,5 @@ export interface IAllocationInstructionAck {
18
21
  EncodedTextLen?: number// 354
19
22
  EncodedText?: Buffer// 355
20
23
  AllocAckGrp?: IAllocAckGrp
24
+ StandardTrailer: IStandardTrailer
21
25
  }
@@ -1,3 +1,4 @@
1
+ import { IStandardHeader } from './set/standard_header'
1
2
  import { IOrdAllocGrp } from './set/ord_alloc_grp'
2
3
  import { IExecAllocGrp } from './set/exec_alloc_grp'
3
4
  import { IInstrument } from './set/instrument'
@@ -10,8 +11,10 @@ import { IParties } from './set/parties'
10
11
  import { IStipulations } from './set/stipulations'
11
12
  import { IYieldData } from './set/yield_data'
12
13
  import { IAllocGrp } from './set/alloc_grp'
14
+ import { IStandardTrailer } from './set/standard_trailer'
13
15
 
14
16
  export interface IAllocationReport {
17
+ StandardHeader: IStandardHeader
15
18
  AllocReportID: string// 755
16
19
  AllocID?: string// 70
17
20
  AllocTransType: string// 71
@@ -79,4 +82,5 @@ export interface IAllocationReport {
79
82
  TotNoAllocs?: number// 892
80
83
  LastFragment?: boolean// 893
81
84
  AllocGrp?: IAllocGrp
85
+ StandardTrailer: IStandardTrailer
82
86
  }
@@ -1,7 +1,10 @@
1
+ import { IStandardHeader } from './set/standard_header'
1
2
  import { IParties } from './set/parties'
2
3
  import { IAllocAckGrp } from './set/alloc_ack_grp'
4
+ import { IStandardTrailer } from './set/standard_trailer'
3
5
 
4
6
  export interface IAllocationReportAck {
7
+ StandardHeader: IStandardHeader
5
8
  AllocReportID: string// 755
6
9
  AllocID: string// 70
7
10
  Parties?: IParties
@@ -19,4 +22,5 @@ export interface IAllocationReportAck {
19
22
  EncodedTextLen?: number// 354
20
23
  EncodedText?: Buffer// 355
21
24
  AllocAckGrp?: IAllocAckGrp
25
+ StandardTrailer: IStandardTrailer
22
26
  }
@@ -1,11 +1,14 @@
1
+ import { IStandardHeader } from './set/standard_header'
1
2
  import { IParties } from './set/parties'
2
3
  import { IInstrument } from './set/instrument'
3
4
  import { IInstrmtLegGrp } from './set/instrmt_leg_grp'
4
5
  import { IUndInstrmtGrp } from './set/und_instrmt_grp'
5
6
  import { IPositionQty } from './set/position_qty'
6
7
  import { IPositionAmountData } from './set/position_amount_data'
8
+ import { IStandardTrailer } from './set/standard_trailer'
7
9
 
8
10
  export interface IAssignmentReport {
11
+ StandardHeader: IStandardHeader
9
12
  AsgnRptID: string// 833
10
13
  TotNumAssignmentReports?: number// 832
11
14
  LastRptRequested?: boolean// 912
@@ -33,4 +36,5 @@ export interface IAssignmentReport {
33
36
  Text?: string// 58
34
37
  EncodedTextLen?: number// 354
35
38
  EncodedText?: Buffer// 355
39
+ StandardTrailer: IStandardTrailer
36
40
  }
@@ -1,7 +1,10 @@
1
+ import { IStandardHeader } from './set/standard_header'
1
2
  import { IBidDescReqGrp } from './set/bid_desc_req_grp'
2
3
  import { IBidCompReqGrp } from './set/bid_comp_req_grp'
4
+ import { IStandardTrailer } from './set/standard_trailer'
3
5
 
4
6
  export interface IBidRequest {
7
+ StandardHeader: IStandardHeader
5
8
  BidID?: string// 390
6
9
  ClientBidID: string// 391
7
10
  BidRequestTransType: string// 374
@@ -31,4 +34,5 @@ export interface IBidRequest {
31
34
  Text?: string// 58
32
35
  EncodedTextLen?: number// 354
33
36
  EncodedText?: Buffer// 355
37
+ StandardTrailer: IStandardTrailer
34
38
  }
@@ -1,7 +1,11 @@
1
+ import { IStandardHeader } from './set/standard_header'
1
2
  import { IBidCompRspGrp } from './set/bid_comp_rsp_grp'
3
+ import { IStandardTrailer } from './set/standard_trailer'
2
4
 
3
5
  export interface IBidResponse {
6
+ StandardHeader: IStandardHeader
4
7
  BidID?: string// 390
5
8
  ClientBidID?: string// 391
6
9
  BidCompRspGrp?: IBidCompRspGrp
10
+ StandardTrailer: IStandardTrailer
7
11
  }
@@ -1,4 +1,8 @@
1
+ import { IStandardHeader } from './set/standard_header'
2
+ import { IStandardTrailer } from './set/standard_trailer'
3
+
1
4
  export interface IBusinessMessageReject {
5
+ StandardHeader: IStandardHeader
2
6
  RefSeqNum?: number// 45
3
7
  RefMsgType: string// 372
4
8
  BusinessRejectRefID?: string// 379
@@ -6,4 +10,5 @@ export interface IBusinessMessageReject {
6
10
  Text?: string// 58
7
11
  EncodedTextLen?: number// 354
8
12
  EncodedText?: Buffer// 355
13
+ StandardTrailer: IStandardTrailer
9
14
  }
@@ -1,3 +1,4 @@
1
+ import { IStandardHeader } from './set/standard_header'
1
2
  import { IParties } from './set/parties'
2
3
  import { IExecCollGrp } from './set/exec_coll_grp'
3
4
  import { ITrdCollGrp } from './set/trd_coll_grp'
@@ -10,8 +11,10 @@ import { IMiscFeesGrp } from './set/misc_fees_grp'
10
11
  import { ISpreadOrBenchmarkCurveData } from './set/spread_or_benchmark_curve_data'
11
12
  import { IStipulations } from './set/stipulations'
12
13
  import { ISettlInstructionsData } from './set/settl_instructions_data'
14
+ import { IStandardTrailer } from './set/standard_trailer'
13
15
 
14
16
  export interface ICollateralAssignment {
17
+ StandardHeader: IStandardHeader
15
18
  CollAsgnID: string// 902
16
19
  CollReqID?: string// 894
17
20
  CollAsgnReason: number// 895
@@ -59,4 +62,5 @@ export interface ICollateralAssignment {
59
62
  Text?: string// 58
60
63
  EncodedTextLen?: number// 354
61
64
  EncodedText?: Buffer// 355
65
+ StandardTrailer: IStandardTrailer
62
66
  }
@@ -1,3 +1,4 @@
1
+ import { IStandardHeader } from './set/standard_header'
1
2
  import { ICollInqQualGrp } from './set/coll_inq_qual_grp'
2
3
  import { IParties } from './set/parties'
3
4
  import { IExecCollGrp } from './set/exec_coll_grp'
@@ -10,8 +11,10 @@ import { ITrdRegTimestamps } from './set/trd_reg_timestamps'
10
11
  import { ISpreadOrBenchmarkCurveData } from './set/spread_or_benchmark_curve_data'
11
12
  import { IStipulations } from './set/stipulations'
12
13
  import { ISettlInstructionsData } from './set/settl_instructions_data'
14
+ import { IStandardTrailer } from './set/standard_trailer'
13
15
 
14
16
  export interface ICollateralInquiry {
17
+ StandardHeader: IStandardHeader
15
18
  CollInquiryID?: string// 909
16
19
  CollInqQualGrp?: ICollInqQualGrp
17
20
  SubscriptionRequestType?: string// 263
@@ -56,4 +59,5 @@ export interface ICollateralInquiry {
56
59
  Text?: string// 58
57
60
  EncodedTextLen?: number// 354
58
61
  EncodedText?: Buffer// 355
62
+ StandardTrailer: IStandardTrailer
59
63
  }
@@ -1,3 +1,4 @@
1
+ import { IStandardHeader } from './set/standard_header'
1
2
  import { ICollInqQualGrp } from './set/coll_inq_qual_grp'
2
3
  import { IParties } from './set/parties'
3
4
  import { IExecCollGrp } from './set/exec_coll_grp'
@@ -6,8 +7,10 @@ import { IInstrument } from './set/instrument'
6
7
  import { IFinancingDetails } from './set/financing_details'
7
8
  import { IInstrmtLegGrp } from './set/instrmt_leg_grp'
8
9
  import { IUndInstrmtGrp } from './set/und_instrmt_grp'
10
+ import { IStandardTrailer } from './set/standard_trailer'
9
11
 
10
12
  export interface ICollateralInquiryAck {
13
+ StandardHeader: IStandardHeader
11
14
  CollInquiryID: string// 909
12
15
  CollInquiryStatus: number// 945
13
16
  CollInquiryResult?: number// 946
@@ -40,4 +43,5 @@ export interface ICollateralInquiryAck {
40
43
  Text?: string// 58
41
44
  EncodedTextLen?: number// 354
42
45
  EncodedText?: Buffer// 355
46
+ StandardTrailer: IStandardTrailer
43
47
  }
@@ -1,3 +1,4 @@
1
+ import { IStandardHeader } from './set/standard_header'
1
2
  import { IParties } from './set/parties'
2
3
  import { IExecCollGrp } from './set/exec_coll_grp'
3
4
  import { ITrdCollGrp } from './set/trd_coll_grp'
@@ -10,8 +11,10 @@ import { IMiscFeesGrp } from './set/misc_fees_grp'
10
11
  import { ISpreadOrBenchmarkCurveData } from './set/spread_or_benchmark_curve_data'
11
12
  import { IStipulations } from './set/stipulations'
12
13
  import { ISettlInstructionsData } from './set/settl_instructions_data'
14
+ import { IStandardTrailer } from './set/standard_trailer'
13
15
 
14
16
  export interface ICollateralReport {
17
+ StandardHeader: IStandardHeader
15
18
  CollRptID: string// 908
16
19
  CollInquiryID?: string// 909
17
20
  CollStatus: number// 910
@@ -57,4 +60,5 @@ export interface ICollateralReport {
57
60
  Text?: string// 58
58
61
  EncodedTextLen?: number// 354
59
62
  EncodedText?: Buffer// 355
63
+ StandardTrailer: IStandardTrailer
60
64
  }