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.
- package/README.md +13 -1
- package/dist/buffer/fixml/fixml-parser.js +1 -1
- package/dist/buffer/fixml/fixml-parser.js.map +1 -1
- package/dist/config/empty-log-factory.d.ts +2 -2
- package/dist/config/empty-log-factory.js +1 -1
- package/dist/config/empty-log-factory.js.map +1 -1
- package/dist/config/get-js-fx-logger.d.ts +2 -2
- package/dist/config/get-js-fx-logger.js.map +1 -1
- package/dist/config/js-fix-logger-factory.d.ts +2 -2
- package/dist/config/js-fix-logger-factory.js.map +1 -1
- package/dist/config/js-fix-logger.d.ts +9 -8
- package/dist/config/js-fix-logger.js +4 -4
- package/dist/config/js-fix-logger.js.map +1 -1
- package/dist/config/js-fix-winston-log-factory.d.ts +2 -2
- package/dist/config/js-fix-winston-log-factory.js +2 -2
- package/dist/config/js-fix-winston-log-factory.js.map +1 -1
- package/dist/config/winston-logger.d.ts +5 -2
- package/dist/config/winston-logger.js +55 -9
- package/dist/config/winston-logger.js.map +1 -1
- package/dist/dictionary/fragment-safety.d.ts +26 -0
- package/dist/dictionary/fragment-safety.js +154 -0
- package/dist/dictionary/fragment-safety.js.map +1 -0
- package/dist/dictionary/index.d.ts +1 -0
- package/dist/dictionary/index.js +1 -0
- package/dist/dictionary/index.js.map +1 -1
- package/dist/runtime/make-config.js +1 -1
- package/dist/runtime/make-config.js.map +1 -1
- package/dist/runtime/session-launcher.js +1 -1
- package/dist/runtime/session-launcher.js.map +1 -1
- package/dist/sample/http/oms/http-client.js +1 -1
- package/dist/sample/http/oms/http-client.js.map +1 -1
- package/dist/sample/http/oms/http-server.js +1 -1
- package/dist/sample/http/oms/http-server.js.map +1 -1
- package/dist/sample/tcp/qf-md/md-client.js +1 -1
- package/dist/sample/tcp/qf-md/md-client.js.map +1 -1
- package/dist/sample/tcp/qf-md/md-server.js +1 -1
- package/dist/sample/tcp/qf-md/md-server.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js +1 -1
- package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-client.js +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-client.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-server.js +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-server.js.map +1 -1
- package/dist/sample/tcp/skeleton/skeleton-session.js +1 -1
- package/dist/sample/tcp/skeleton/skeleton-session.js.map +1 -1
- package/dist/sample/tcp/trade-capture/trade-capture-client.js +1 -1
- package/dist/sample/tcp/trade-capture/trade-capture-client.js.map +1 -1
- package/dist/sample/tcp/trade-capture/trade-capture-server.js +1 -1
- package/dist/sample/tcp/trade-capture/trade-capture-server.js.map +1 -1
- package/dist/store/fix-msg-memory-store.js +1 -1
- package/dist/store/fix-msg-memory-store.js.map +1 -1
- package/dist/transport/ascii/ascii-msg-transmitter.js +1 -1
- package/dist/transport/ascii/ascii-msg-transmitter.js.map +1 -1
- package/dist/transport/ascii/ascii-session.js +1 -1
- package/dist/transport/ascii/ascii-session.js.map +1 -1
- package/dist/transport/http/http-acceptor-listener.js +1 -1
- package/dist/transport/http/http-acceptor-listener.js.map +1 -1
- package/dist/transport/http/http-acceptor.js +2 -2
- package/dist/transport/http/http-acceptor.js.map +1 -1
- package/dist/transport/http/http-initiator.js +1 -1
- package/dist/transport/http/http-initiator.js.map +1 -1
- package/dist/transport/http/http-json-sample-adapter.js +1 -1
- package/dist/transport/http/http-json-sample-adapter.js.map +1 -1
- package/dist/transport/session/fix-session.js +3 -3
- package/dist/transport/session/fix-session.js.map +1 -1
- package/dist/transport/session/session-registry.js +1 -1
- package/dist/transport/session/session-registry.js.map +1 -1
- package/dist/transport/tcp/recovering-tcp-initiator.js +1 -1
- package/dist/transport/tcp/recovering-tcp-initiator.js.map +1 -1
- package/dist/transport/tcp/tcp-acceptor-listener.js +2 -2
- package/dist/transport/tcp/tcp-acceptor-listener.js.map +1 -1
- package/dist/transport/tcp/tcp-acceptor.js +2 -2
- package/dist/transport/tcp/tcp-acceptor.js.map +1 -1
- package/dist/transport/tcp/tcp-initiator-connector.js +2 -2
- package/dist/transport/tcp/tcp-initiator-connector.js.map +1 -1
- package/dist/transport/tcp/tcp-initiator.js +1 -1
- package/dist/transport/tcp/tcp-initiator.js.map +1 -1
- package/docs/instrumentation.md +346 -0
- package/docs/scattered-components.md +280 -0
- package/jsfix.test_client.txt +62 -62
- package/jsfix.test_server.txt +72 -72
- package/package.json +1 -1
- package/src/buffer/fixml/fixml-parser.ts +1 -1
- package/src/config/empty-log-factory.ts +2 -2
- package/src/config/get-js-fx-logger.ts +2 -2
- package/src/config/js-fix-logger-factory.ts +8 -2
- package/src/config/js-fix-logger.ts +23 -8
- package/src/config/js-fix-winston-log-factory.ts +3 -3
- package/src/config/winston-logger.ts +85 -10
- package/src/dictionary/fragment-safety.ts +225 -0
- package/src/dictionary/index.ts +1 -0
- package/src/runtime/make-config.ts +1 -1
- package/src/runtime/session-launcher.ts +1 -1
- package/src/sample/http/oms/http-client.ts +1 -1
- package/src/sample/http/oms/http-server.ts +1 -1
- package/src/sample/tcp/qf-md/md-client.ts +1 -1
- package/src/sample/tcp/qf-md/md-server.ts +1 -1
- package/src/sample/tcp/recovering-skeleton/respawn-acceptor.ts +2 -1
- package/src/sample/tcp/recovering-skeleton/skeleton-client.ts +1 -1
- package/src/sample/tcp/recovering-skeleton/skeleton-server.ts +1 -1
- package/src/sample/tcp/skeleton/skeleton-session.ts +1 -1
- 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/store/fix-msg-memory-store.ts +2 -1
- package/src/transport/ascii/ascii-msg-transmitter.ts +2 -1
- package/src/transport/ascii/ascii-session.ts +2 -1
- package/src/transport/http/http-acceptor-listener.ts +2 -1
- package/src/transport/http/http-acceptor.ts +2 -1
- package/src/transport/http/http-initiator.ts +2 -1
- package/src/transport/http/http-json-sample-adapter.ts +1 -1
- package/src/transport/session/fix-session.ts +2 -1
- package/src/transport/session/session-registry.ts +1 -1
- package/src/transport/tcp/recovering-tcp-initiator.ts +2 -1
- package/src/transport/tcp/tcp-acceptor-listener.ts +4 -2
- package/src/transport/tcp/tcp-acceptor.ts +2 -1
- package/src/transport/tcp/tcp-initiator-connector.ts +4 -2
- 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
|
}
|