jspurefix 5.11.1 → 5.11.2

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 (117) hide show
  1. package/README.md +13 -1
  2. package/dist/buffer/fixml/fixml-parser.js +1 -1
  3. package/dist/buffer/fixml/fixml-parser.js.map +1 -1
  4. package/dist/config/empty-log-factory.d.ts +2 -2
  5. package/dist/config/empty-log-factory.js +1 -1
  6. package/dist/config/empty-log-factory.js.map +1 -1
  7. package/dist/config/get-js-fx-logger.d.ts +2 -2
  8. package/dist/config/get-js-fx-logger.js.map +1 -1
  9. package/dist/config/js-fix-logger-factory.d.ts +2 -2
  10. package/dist/config/js-fix-logger-factory.js.map +1 -1
  11. package/dist/config/js-fix-logger.d.ts +9 -8
  12. package/dist/config/js-fix-logger.js +4 -4
  13. package/dist/config/js-fix-logger.js.map +1 -1
  14. package/dist/config/js-fix-winston-log-factory.d.ts +2 -2
  15. package/dist/config/js-fix-winston-log-factory.js +2 -2
  16. package/dist/config/js-fix-winston-log-factory.js.map +1 -1
  17. package/dist/config/winston-logger.d.ts +5 -2
  18. package/dist/config/winston-logger.js +55 -9
  19. package/dist/config/winston-logger.js.map +1 -1
  20. package/dist/dictionary/fragment-safety.d.ts +26 -0
  21. package/dist/dictionary/fragment-safety.js +154 -0
  22. package/dist/dictionary/fragment-safety.js.map +1 -0
  23. package/dist/dictionary/index.d.ts +1 -0
  24. package/dist/dictionary/index.js +1 -0
  25. package/dist/dictionary/index.js.map +1 -1
  26. package/dist/runtime/make-config.js +1 -1
  27. package/dist/runtime/make-config.js.map +1 -1
  28. package/dist/runtime/session-launcher.js +1 -1
  29. package/dist/runtime/session-launcher.js.map +1 -1
  30. package/dist/sample/http/oms/http-client.js +1 -1
  31. package/dist/sample/http/oms/http-client.js.map +1 -1
  32. package/dist/sample/http/oms/http-server.js +1 -1
  33. package/dist/sample/http/oms/http-server.js.map +1 -1
  34. package/dist/sample/tcp/qf-md/md-client.js +1 -1
  35. package/dist/sample/tcp/qf-md/md-client.js.map +1 -1
  36. package/dist/sample/tcp/qf-md/md-server.js +1 -1
  37. package/dist/sample/tcp/qf-md/md-server.js.map +1 -1
  38. package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js +1 -1
  39. package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js.map +1 -1
  40. package/dist/sample/tcp/recovering-skeleton/skeleton-client.js +1 -1
  41. package/dist/sample/tcp/recovering-skeleton/skeleton-client.js.map +1 -1
  42. package/dist/sample/tcp/recovering-skeleton/skeleton-server.js +1 -1
  43. package/dist/sample/tcp/recovering-skeleton/skeleton-server.js.map +1 -1
  44. package/dist/sample/tcp/skeleton/skeleton-session.js +1 -1
  45. package/dist/sample/tcp/skeleton/skeleton-session.js.map +1 -1
  46. package/dist/sample/tcp/trade-capture/trade-capture-client.js +1 -1
  47. package/dist/sample/tcp/trade-capture/trade-capture-client.js.map +1 -1
  48. package/dist/sample/tcp/trade-capture/trade-capture-server.js +1 -1
  49. package/dist/sample/tcp/trade-capture/trade-capture-server.js.map +1 -1
  50. package/dist/store/fix-msg-memory-store.js +1 -1
  51. package/dist/store/fix-msg-memory-store.js.map +1 -1
  52. package/dist/transport/ascii/ascii-msg-transmitter.js +1 -1
  53. package/dist/transport/ascii/ascii-msg-transmitter.js.map +1 -1
  54. package/dist/transport/ascii/ascii-session.js +1 -1
  55. package/dist/transport/ascii/ascii-session.js.map +1 -1
  56. package/dist/transport/http/http-acceptor-listener.js +1 -1
  57. package/dist/transport/http/http-acceptor-listener.js.map +1 -1
  58. package/dist/transport/http/http-acceptor.js +2 -2
  59. package/dist/transport/http/http-acceptor.js.map +1 -1
  60. package/dist/transport/http/http-initiator.js +1 -1
  61. package/dist/transport/http/http-initiator.js.map +1 -1
  62. package/dist/transport/http/http-json-sample-adapter.js +1 -1
  63. package/dist/transport/http/http-json-sample-adapter.js.map +1 -1
  64. package/dist/transport/session/fix-session.js +3 -3
  65. package/dist/transport/session/fix-session.js.map +1 -1
  66. package/dist/transport/session/session-registry.js +1 -1
  67. package/dist/transport/session/session-registry.js.map +1 -1
  68. package/dist/transport/tcp/recovering-tcp-initiator.js +1 -1
  69. package/dist/transport/tcp/recovering-tcp-initiator.js.map +1 -1
  70. package/dist/transport/tcp/tcp-acceptor-listener.js +2 -2
  71. package/dist/transport/tcp/tcp-acceptor-listener.js.map +1 -1
  72. package/dist/transport/tcp/tcp-acceptor.js +2 -2
  73. package/dist/transport/tcp/tcp-acceptor.js.map +1 -1
  74. package/dist/transport/tcp/tcp-initiator-connector.js +2 -2
  75. package/dist/transport/tcp/tcp-initiator-connector.js.map +1 -1
  76. package/dist/transport/tcp/tcp-initiator.js +1 -1
  77. package/dist/transport/tcp/tcp-initiator.js.map +1 -1
  78. package/docs/instrumentation.md +346 -0
  79. package/docs/scattered-components.md +280 -0
  80. package/jsfix.test_client.txt +62 -62
  81. package/jsfix.test_server.txt +72 -72
  82. package/package.json +1 -1
  83. package/src/buffer/fixml/fixml-parser.ts +1 -1
  84. package/src/config/empty-log-factory.ts +2 -2
  85. package/src/config/get-js-fx-logger.ts +2 -2
  86. package/src/config/js-fix-logger-factory.ts +8 -2
  87. package/src/config/js-fix-logger.ts +23 -8
  88. package/src/config/js-fix-winston-log-factory.ts +3 -3
  89. package/src/config/winston-logger.ts +85 -10
  90. package/src/dictionary/fragment-safety.ts +225 -0
  91. package/src/dictionary/index.ts +1 -0
  92. package/src/runtime/make-config.ts +1 -1
  93. package/src/runtime/session-launcher.ts +1 -1
  94. package/src/sample/http/oms/http-client.ts +1 -1
  95. package/src/sample/http/oms/http-server.ts +1 -1
  96. package/src/sample/tcp/qf-md/md-client.ts +1 -1
  97. package/src/sample/tcp/qf-md/md-server.ts +1 -1
  98. package/src/sample/tcp/recovering-skeleton/respawn-acceptor.ts +2 -1
  99. package/src/sample/tcp/recovering-skeleton/skeleton-client.ts +1 -1
  100. package/src/sample/tcp/recovering-skeleton/skeleton-server.ts +1 -1
  101. package/src/sample/tcp/skeleton/skeleton-session.ts +1 -1
  102. package/src/sample/tcp/trade-capture/trade-capture-client.ts +2 -1
  103. package/src/sample/tcp/trade-capture/trade-capture-server.ts +2 -1
  104. package/src/store/fix-msg-memory-store.ts +2 -1
  105. package/src/transport/ascii/ascii-msg-transmitter.ts +2 -1
  106. package/src/transport/ascii/ascii-session.ts +2 -1
  107. package/src/transport/http/http-acceptor-listener.ts +2 -1
  108. package/src/transport/http/http-acceptor.ts +2 -1
  109. package/src/transport/http/http-initiator.ts +2 -1
  110. package/src/transport/http/http-json-sample-adapter.ts +1 -1
  111. package/src/transport/session/fix-session.ts +2 -1
  112. package/src/transport/session/session-registry.ts +1 -1
  113. package/src/transport/tcp/recovering-tcp-initiator.ts +2 -1
  114. package/src/transport/tcp/tcp-acceptor-listener.ts +4 -2
  115. package/src/transport/tcp/tcp-acceptor.ts +2 -1
  116. package/src/transport/tcp/tcp-initiator-connector.ts +4 -2
  117. package/src/transport/tcp/tcp-initiator.ts +2 -1
@@ -22,7 +22,8 @@ export class HttpAcceptor extends FixAcceptor {
22
22
 
23
23
  constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {
24
24
  super(config?.description?.application ?? null)
25
- this.logger = config.logFactory.logger(`${config?.description?.application?.name}:HttpAcceptor`)
25
+ this.logger = config.logFactory.logger(`${config?.description?.application?.name}:HttpAcceptor`,
26
+ { component: 'HttpAcceptor', app: config?.description?.application?.name, role: 'acceptor' })
26
27
  this.logger.info('creating http server')
27
28
  this.router = express.Router()
28
29
  this.router.use(bodyParser.json())
@@ -11,7 +11,8 @@ export class HttpInitiator extends FixEntity {
11
11
  logger: IJsFixLogger
12
12
  constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {
13
13
  super(config)
14
- this.logger = config.logFactory.logger('initiator')
14
+ this.logger = config.logFactory.logger('initiator',
15
+ { component: 'HttpInitiator', role: 'initiator' })
15
16
  }
16
17
 
17
18
  async start (): Promise<any> {
@@ -13,7 +13,7 @@ export class HttpJsonSampleAdapter implements IHttpAdapter {
13
13
  private token: string | null = null
14
14
  private readonly routes: Map<string, IHtmlRoute> = new Map<string, IHtmlRoute>()
15
15
  constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {
16
- this.logger = config.logFactory.logger('http.adapter')
16
+ this.logger = config.logFactory.logger('http.adapter', { component: 'HttpJsonSampleAdapter' })
17
17
  const routes = this.routes
18
18
  const options = config?.description?.application?.http?.options
19
19
  if (!options) {
@@ -61,7 +61,8 @@ export abstract class FixSession extends events.EventEmitter {
61
61
  heartBeat: config.description.HeartBtInt,
62
62
  lastPeerMsgSeqNum: config.description.LastReceivedSeqNum
63
63
  })
64
- this.sessionLogger = config.logFactory.logger(`${this.me}:FixSession`)
64
+ this.sessionLogger = config.logFactory.logger(`${this.me}:FixSession`,
65
+ { component: 'FixSession', app: this.me, role: description?.application?.type })
65
66
  this.initiator = description?.application?.type === 'initiator'
66
67
  this.acceptor = !this.initiator
67
68
  this.checkMsgIntegrity = this.acceptor
@@ -53,7 +53,7 @@ export class SessionRegistry implements ISessionRegistry {
53
53
  private readonly logger: IJsFixLogger | null
54
54
 
55
55
  constructor (logFactory?: JsFixLoggerFactory) {
56
- this.logger = logFactory?.logger('SessionRegistry') ?? null
56
+ this.logger = logFactory?.logger('SessionRegistry', { component: 'SessionRegistry' }) ?? null
57
57
  }
58
58
 
59
59
  public get count (): number {
@@ -39,7 +39,8 @@ export class RecoveringTcpInitiator extends FixEntity {
39
39
  super(jsFixConfig)
40
40
  this.application = this.jsFixConfig.description.application ?? null
41
41
  const name = this.application?.name ?? 'na'
42
- this.logger = jsFixConfig.logFactory.logger(`${name}:RecoveringTcpInitiator`)
42
+ this.logger = jsFixConfig.logFactory.logger(`${name}:RecoveringTcpInitiator`,
43
+ { component: 'RecoveringTcpInitiator', app: name, role: 'initiator' })
43
44
  if (!this.application) {
44
45
  throw new Error('no application in session description.')
45
46
  }
@@ -27,7 +27,8 @@ export class TcpAcceptorListener extends FixEntity {
27
27
 
28
28
  async start (): Promise<any> {
29
29
  return await new Promise<any>(async (resolve, reject) => {
30
- const logger = this.config.logFactory.logger('acceptor')
30
+ const logger = this.config.logFactory.logger('acceptor',
31
+ { component: 'TcpAcceptorListener', role: 'acceptor' })
31
32
  const sessionContainer = this.config.sessionContainer
32
33
  if (!sessionContainer.isRegistered(DITokens.FixSession)) {
33
34
  reject(new Error(`application must register a DI token '${DITokens.FixSession}' - see src/sample`))
@@ -93,7 +94,8 @@ export class TcpAcceptorListener extends FixEntity {
93
94
  */
94
95
  stop (): void {
95
96
  if (this.acceptor) {
96
- const logger = this.config.logFactory.logger('acceptor')
97
+ const logger = this.config.logFactory.logger('acceptor',
98
+ { component: 'TcpAcceptorListener', role: 'acceptor' })
97
99
  logger.info('acceptor stopping')
98
100
  this.acceptor.close(() => {
99
101
  logger.info('acceptor closed.')
@@ -18,7 +18,8 @@ export class TcpAcceptor extends FixAcceptor {
18
18
 
19
19
  constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {
20
20
  super(config.description.application ?? null)
21
- this.logger = config.logFactory.logger(`${config.description.application?.name}:TcpAcceptor`)
21
+ this.logger = config.logFactory.logger(`${config.description.application?.name}:TcpAcceptor`,
22
+ { component: 'TcpAcceptor', app: config.description.application?.name, role: 'acceptor' })
22
23
  const tlsOptions: TlsOptions | null = this.tlsOptions()
23
24
  if (tlsOptions) {
24
25
  this.tlsServer()
@@ -21,7 +21,8 @@ export class TcpInitiatorConnector extends FixEntity {
21
21
  async start (reconnectTimeout: number = 0): Promise<any> {
22
22
 
23
23
  return await new Promise<any>(async (resolve, reject) => {
24
- const logger = this.config.logFactory.logger('initiator')
24
+ const logger = this.config.logFactory.logger('initiator',
25
+ { component: 'TcpInitiatorConnector', role: 'initiator' })
25
26
  const sessionContainer = this.config.sessionContainer
26
27
  if (!sessionContainer.isRegistered(DITokens.FixSession)) {
27
28
  reject(new Error(`application must register a DI token '${DITokens.FixSession}' - see src/sample`))
@@ -64,7 +65,8 @@ export class TcpInitiatorConnector extends FixEntity {
64
65
  }
65
66
 
66
67
  async connect (initiatorSession: FixSession): Promise<any> {
67
- const logger = this.config.logFactory.logger('initiator')
68
+ const logger = this.config.logFactory.logger('initiator',
69
+ { component: 'TcpInitiatorConnector', role: 'initiator' })
68
70
  const initiator: FixInitiator = this.config.sessionContainer.resolve<FixInitiator>(TcpInitiator)
69
71
  logger.info('connecting ...')
70
72
  const initiatorTransport: MsgTransport = await initiator.connect(this.connectTimeoutSecs)
@@ -33,7 +33,8 @@ export class TcpInitiator extends FixInitiator {
33
33
  constructor (@inject(DITokens.IJsFixConfig) public readonly jsFixConfig: IJsFixConfig) {
34
34
  super(jsFixConfig.description.application ?? null)
35
35
  const name = this.application?.name ?? 'initiator'
36
- this.logger = jsFixConfig.logFactory.logger(`${name}:TcpInitiator`)
36
+ this.logger = jsFixConfig.logFactory.logger(`${name}:TcpInitiator`,
37
+ { component: 'TcpInitiator', app: name, role: 'initiator' })
37
38
  if (!this.application) {
38
39
  throw new Error('no application in session description.')
39
40
  }