fixparser-plugin-messagestore-kdb 9.2.2 → 9.2.3-175e9b8c

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/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "fixparser-plugin-messagestore-kdb",
3
- "version": "9.2.2",
3
+ "version": "9.2.3-175e9b8c",
4
4
  "description": "FIXParser KDB+ Message Store Plugin",
5
5
  "files": [
6
6
  "./build/",
7
7
  "./types/",
8
8
  "./kdb-files/",
9
- "./LICENSE.md"
9
+ "./LICENSE.md",
10
+ "./README.md"
10
11
  ],
11
12
  "type": "module",
12
13
  "repository": {
@@ -25,8 +26,8 @@
25
26
  },
26
27
  "author": "Victor Norgren",
27
28
  "dependencies": {
28
- "fixparser": "^9.2.1",
29
- "fixparser-common": "^9.2.1"
29
+ "fixparser": "^9.2.2",
30
+ "fixparser-common": "^9.2.2"
30
31
  },
31
32
  "keywords": [
32
33
  "FIXParser",
@@ -0,0 +1,96 @@
1
+ import type { IFIXParser, IMessageStore, Logger } from 'fixparser';
2
+ import { type IMessage } from 'fixparser-common';
3
+ export type MessageStoreKDBOptions = {
4
+ host: string;
5
+ port: number;
6
+ tableName?: string;
7
+ parser: IFIXParser;
8
+ maxBufferSize?: number;
9
+ writeInterval?: number;
10
+ logger?: Logger;
11
+ onReady: () => void;
12
+ };
13
+ export declare class MessageStoreKDB implements IMessageStore<IMessage> {
14
+ /**
15
+ * A number representing the next expected message sequence number.
16
+ * @private
17
+ */
18
+ private nextMsgSeqNum;
19
+ private readonly inMemoryMessageStore;
20
+ private readonly host;
21
+ private readonly port;
22
+ private readonly tableName;
23
+ private readonly ws;
24
+ private readonly parser;
25
+ private readonly logger;
26
+ private readonly writeInterval;
27
+ private readonly writeIntervalId;
28
+ private maxBufferSize;
29
+ constructor({ host, port, tableName, parser, logger, onReady, maxBufferSize, writeInterval, }: MessageStoreKDBOptions);
30
+ private send;
31
+ private sendAsync;
32
+ private writeToKDB;
33
+ add(message: IMessage): void;
34
+ getByMsgSequence(): IMessage | undefined;
35
+ getByMsgSequenceAsync(msgSequence: number): Promise<IMessage | undefined>;
36
+ /**
37
+ * Updates a `Message` instance in the store.
38
+ *
39
+ * @param {number} msgSequence - The sequence number of the message to update.
40
+ * @param {Message} message - The updated message.
41
+ *
42
+ * @returns {boolean} - Returns `true` if the message was updated successfully, `false` otherwise.
43
+ */
44
+ update(msgSequence: number, message: IMessage): boolean;
45
+ /**
46
+ * Removes a `Message` instance from the store by its sequence number.
47
+ *
48
+ * @param {number} msgSequence - The sequence number of the message to remove.
49
+ *
50
+ * @returns {void}
51
+ */
52
+ remove(msgSequence: number): void;
53
+ /**
54
+ * Checks if a message with a given sequence number exists in the store.
55
+ *
56
+ * @param {number} msgSequence - The sequence number of the message to check.
57
+ * @returns {boolean} - `true` if the message exists, `false` otherwise.
58
+ */
59
+ exists(msgSequence: number): boolean;
60
+ /**
61
+ * Retrieves all `Message` instances from the store.
62
+ *
63
+ * @returns {Message[]} - An array of all `Message` instances in the store.
64
+ */
65
+ getAll(): IMessage[];
66
+ /**
67
+ * Retrieves all `Message` instances from the store.
68
+ *
69
+ * @returns {Message[]} - An array of all `Message` instances in the store.
70
+ */
71
+ getAllAsync(): Promise<IMessage[]>;
72
+ size(): number;
73
+ /**
74
+ * Resizes the message buffer's capacity.
75
+ *
76
+ * @param {number} newCapacity - The new maximum capacity for the buffer.
77
+ * @returns {void}
78
+ */
79
+ resize(newCapacity: number): void;
80
+ clear(): void;
81
+ getCapacity(): number;
82
+ stopWriteInterval(): void;
83
+ /**
84
+ * Set the next message sequence number.
85
+ *
86
+ * @param nextMsgSeqNum - The next message sequence number.
87
+ * @returns {number} - The next message sequence number.
88
+ */
89
+ setNextMsgSeqNum(nextMsgSeqNum: number): number;
90
+ /**
91
+ * Get the next message sequence number.
92
+ *
93
+ * @returns {number} - The next message sequence number.
94
+ */
95
+ getNextMsgSeqNum(): number;
96
+ }
@@ -0,0 +1 @@
1
+ export { MessageStoreKDB, MessageStoreKDBOptions } from './MessageStoreKDB';