flashq 0.3.3 → 0.3.5
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/dist/client/connection.d.ts +114 -9
- package/dist/client/connection.d.ts.map +1 -1
- package/dist/client/connection.js +163 -64
- package/dist/client/connection.js.map +1 -1
- package/dist/client/methods/core.d.ts.map +1 -1
- package/dist/client/methods/core.js +20 -78
- package/dist/client/methods/core.js.map +1 -1
- package/dist/client/methods/jobs.d.ts.map +1 -1
- package/dist/client/methods/jobs.js +3 -2
- package/dist/client/methods/jobs.js.map +1 -1
- package/dist/client/reconnect.d.ts +100 -0
- package/dist/client/reconnect.d.ts.map +1 -0
- package/dist/client/reconnect.js +154 -0
- package/dist/client/reconnect.js.map +1 -0
- package/dist/client/tcp/handler.d.ts +106 -0
- package/dist/client/tcp/handler.d.ts.map +1 -0
- package/dist/client/tcp/handler.js +155 -0
- package/dist/client/tcp/handler.js.map +1 -0
- package/dist/client/tcp/index.d.ts +5 -0
- package/dist/client/tcp/index.d.ts.map +1 -0
- package/dist/client/tcp/index.js +14 -0
- package/dist/client/tcp/index.js.map +1 -0
- package/dist/client/validation.d.ts +120 -0
- package/dist/client/validation.d.ts.map +1 -0
- package/dist/client/validation.js +153 -0
- package/dist/client/validation.js.map +1 -0
- package/dist/constants.d.ts +67 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +79 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -1
- package/dist/index.js.map +1 -1
- package/dist/queue.d.ts +16 -1
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.js +3 -0
- package/dist/queue.js.map +1 -1
- package/dist/utils/retry.d.ts +1 -1
- package/dist/utils/retry.d.ts.map +1 -1
- package/dist/utils/retry.js +11 -10
- package/dist/utils/retry.js.map +1 -1
- package/dist/worker.d.ts +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +29 -32
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
2
|
import type { ClientOptions } from '../types';
|
|
3
3
|
import { Logger } from '../utils/logger';
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export declare function validateJobDataSize(data: unknown): void;
|
|
8
|
-
type ConnectionState = 'disconnected' | 'connecting' | 'connected' | 'reconnecting' | 'closed';
|
|
4
|
+
import type { ConnectionState } from './reconnect';
|
|
5
|
+
export { MAX_JOB_DATA_SIZE, MAX_BATCH_SIZE, validateQueueName, validateJobDataSize, mapJobToPayload, } from './validation';
|
|
6
|
+
export type { JobPayload } from './validation';
|
|
9
7
|
/** Client options with required fields except hooks */
|
|
10
8
|
type ResolvedClientOptions = Required<Omit<ClientOptions, 'hooks'>> & {
|
|
11
9
|
hooks?: ClientOptions['hooks'];
|
|
@@ -17,8 +15,7 @@ export declare class FlashQConnection extends EventEmitter {
|
|
|
17
15
|
private connectionState;
|
|
18
16
|
private authenticated;
|
|
19
17
|
private pendingRequests;
|
|
20
|
-
private
|
|
21
|
-
private bufferRemainder;
|
|
18
|
+
private jsonBuffer;
|
|
22
19
|
private binaryBuffer;
|
|
23
20
|
private reconnectAttempts;
|
|
24
21
|
private reconnectTimer;
|
|
@@ -33,14 +30,62 @@ export declare class FlashQConnection extends EventEmitter {
|
|
|
33
30
|
constructor(options?: ClientOptions);
|
|
34
31
|
/** @deprecated Use logger.debug() instead */
|
|
35
32
|
protected debug(message: string, data?: unknown): void;
|
|
36
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Invokes the connection hook if configured.
|
|
35
|
+
*
|
|
36
|
+
* Creates a ConnectionHookContext and calls the onConnection hook
|
|
37
|
+
* with the appropriate event type. Hook errors are caught and logged
|
|
38
|
+
* to prevent breaking the main flow.
|
|
39
|
+
*
|
|
40
|
+
* @param event - The connection event type
|
|
41
|
+
* @param error - Error object for error events
|
|
42
|
+
* @param attempt - Reconnection attempt number
|
|
43
|
+
*/
|
|
37
44
|
private callConnectionHook;
|
|
38
45
|
get options(): ResolvedClientOptions;
|
|
39
46
|
connect(): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Schedules a reconnection attempt with exponential backoff.
|
|
49
|
+
*
|
|
50
|
+
* Calculates delay using: min(initialDelay * 2^attempt, maxDelay) + jitter
|
|
51
|
+
* Jitter is 0-30% of base delay to prevent thundering herd.
|
|
52
|
+
*
|
|
53
|
+
* Emits 'reconnecting' before attempt and 'reconnected' on success.
|
|
54
|
+
* On failure, recursively schedules next attempt until max reached.
|
|
55
|
+
*/
|
|
40
56
|
private scheduleReconnect;
|
|
57
|
+
/**
|
|
58
|
+
* Sets up event handlers on the TCP socket.
|
|
59
|
+
*
|
|
60
|
+
* Handlers:
|
|
61
|
+
* - 'data': Routes to JSON or binary buffer processor based on protocol
|
|
62
|
+
* - 'close': Triggers disconnect event and schedules reconnection
|
|
63
|
+
* - 'error': Emits error event and calls connection hook
|
|
64
|
+
*/
|
|
41
65
|
private setupSocketHandlers;
|
|
66
|
+
/**
|
|
67
|
+
* Processes the JSON text buffer to extract complete responses.
|
|
68
|
+
*
|
|
69
|
+
* Delegates to JsonBufferHandler for line extraction, then parses
|
|
70
|
+
* each complete line as JSON and passes to handleResponse.
|
|
71
|
+
*/
|
|
42
72
|
private processBuffer;
|
|
73
|
+
/**
|
|
74
|
+
* Processes the binary buffer to extract MessagePack frames.
|
|
75
|
+
*
|
|
76
|
+
* Delegates to BinaryBufferHandler for frame extraction and decoding,
|
|
77
|
+
* then passes each decoded object to handleResponse.
|
|
78
|
+
*/
|
|
43
79
|
private processBinaryBuffer;
|
|
80
|
+
/**
|
|
81
|
+
* Handles a parsed response from the server.
|
|
82
|
+
*
|
|
83
|
+
* Matches response.reqId to pending request, clears timeout,
|
|
84
|
+
* and resolves/rejects the promise. Server errors are parsed
|
|
85
|
+
* into typed FlashQError subclasses.
|
|
86
|
+
*
|
|
87
|
+
* @param response - Parsed response object with reqId
|
|
88
|
+
*/
|
|
44
89
|
private handleResponse;
|
|
45
90
|
close(): Promise<void>;
|
|
46
91
|
/** Get number of queued requests */
|
|
@@ -50,12 +95,72 @@ export declare class FlashQConnection extends EventEmitter {
|
|
|
50
95
|
ping(): Promise<boolean>;
|
|
51
96
|
auth(token: string): Promise<void>;
|
|
52
97
|
send<T>(command: Record<string, unknown>, customTimeout?: number): Promise<T>;
|
|
98
|
+
/**
|
|
99
|
+
* Internal send implementation without retry wrapper.
|
|
100
|
+
*
|
|
101
|
+
* Routes to queueRequest if disconnecting with queue enabled,
|
|
102
|
+
* waits for reconnection if in progress, then delegates to
|
|
103
|
+
* sendTcp or sendHttp based on protocol configuration.
|
|
104
|
+
*
|
|
105
|
+
* @param command - Command object to send
|
|
106
|
+
* @param customTimeout - Optional timeout override
|
|
107
|
+
* @returns Promise resolving to response
|
|
108
|
+
*/
|
|
53
109
|
private doSend;
|
|
110
|
+
/**
|
|
111
|
+
* Waits for an in-progress reconnection to complete.
|
|
112
|
+
*
|
|
113
|
+
* Listens for 'reconnected' or 'reconnect_failed' events.
|
|
114
|
+
* Times out after options.timeout milliseconds.
|
|
115
|
+
*
|
|
116
|
+
* @returns Promise that resolves when reconnected
|
|
117
|
+
* @throws ConnectionError on timeout or reconnection failure
|
|
118
|
+
*/
|
|
54
119
|
private waitForReconnection;
|
|
120
|
+
/**
|
|
121
|
+
* Queues a request for later execution after reconnection.
|
|
122
|
+
*
|
|
123
|
+
* Used when queueOnDisconnect is enabled and connection is lost.
|
|
124
|
+
* Requests are stored and replayed in order when reconnected.
|
|
125
|
+
*
|
|
126
|
+
* @param command - Command to queue
|
|
127
|
+
* @param customTimeout - Optional timeout for when request is eventually sent
|
|
128
|
+
* @returns Promise that resolves when request completes after reconnection
|
|
129
|
+
* @throws ConnectionError if queue is full
|
|
130
|
+
*/
|
|
55
131
|
private queueRequest;
|
|
132
|
+
/**
|
|
133
|
+
* Processes all queued requests after successful reconnection.
|
|
134
|
+
*
|
|
135
|
+
* Sends each queued request in order, resolving or rejecting
|
|
136
|
+
* the original promises. Clears the queue before processing
|
|
137
|
+
* to handle any new requests that may be queued during replay.
|
|
138
|
+
*/
|
|
56
139
|
private processRequestQueue;
|
|
140
|
+
/**
|
|
141
|
+
* Sends a command over the TCP socket.
|
|
142
|
+
*
|
|
143
|
+
* Handles request ID generation, optional compression,
|
|
144
|
+
* timeout management, and protocol serialization (JSON or MessagePack).
|
|
145
|
+
*
|
|
146
|
+
* @param command - Command object to send
|
|
147
|
+
* @param customTimeout - Optional timeout override in milliseconds
|
|
148
|
+
* @returns Promise resolving to typed response
|
|
149
|
+
* @throws ConnectionError if not connected
|
|
150
|
+
* @throws TimeoutError if request times out
|
|
151
|
+
*/
|
|
57
152
|
private sendTcp;
|
|
153
|
+
/**
|
|
154
|
+
* Sends a command via HTTP REST API.
|
|
155
|
+
*
|
|
156
|
+
* Converts the command to appropriate HTTP method and URL,
|
|
157
|
+
* handles authentication headers, and parses the JSON response.
|
|
158
|
+
*
|
|
159
|
+
* @param command - Command object to convert to HTTP request
|
|
160
|
+
* @param customTimeout - Optional timeout override in milliseconds
|
|
161
|
+
* @returns Promise resolving to typed response
|
|
162
|
+
* @throws TimeoutError if request times out
|
|
163
|
+
*/
|
|
58
164
|
private sendHttp;
|
|
59
165
|
}
|
|
60
|
-
export {};
|
|
61
166
|
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/client/connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/client/connection.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAA4B,MAAM,UAAU,CAAC;AAKxE,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAwBxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAoB/C,uDAAuD;AACvD,KAAK,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG;IACpE,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAEjB;IACF,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,OAAO,GAAE,aAAkB;IA2DvC,6CAA6C;IAC7C,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAItD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAiB1B,IAAI,OAAO,IAAI,qBAAqB,CAEnC;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmE9B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAqCzB;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAerB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAuBhB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B5B,oCAAoC;IACpC,qBAAqB,IAAI,MAAM;IAI/B,WAAW,IAAI,OAAO;IAGtB,kBAAkB,IAAI,eAAe;IAI/B,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASxB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBnF;;;;;;;;;;OAUG;YACW,MAAM;IAepB;;;;;;;;OAQG;YACW,mBAAmB;IAsBjC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY;IAiBpB;;;;;;OAMG;YACW,mBAAmB;IAejC;;;;;;;;;;;OAWG;YACW,OAAO;IA6ErB;;;;;;;;;;OAUG;YACW,QAAQ;CA0BvB"}
|
|
@@ -33,48 +33,46 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.FlashQConnection = exports.MAX_BATCH_SIZE = exports.MAX_JOB_DATA_SIZE = void 0;
|
|
37
|
-
exports.validateQueueName = validateQueueName;
|
|
38
|
-
exports.validateJobDataSize = validateJobDataSize;
|
|
36
|
+
exports.FlashQConnection = exports.mapJobToPayload = exports.validateJobDataSize = exports.validateQueueName = exports.MAX_BATCH_SIZE = exports.MAX_JOB_DATA_SIZE = void 0;
|
|
39
37
|
/**
|
|
40
38
|
* Connection management for FlashQ client.
|
|
39
|
+
*
|
|
40
|
+
* This module provides the core connection layer that handles:
|
|
41
|
+
* - TCP socket connections with auto-reconnect
|
|
42
|
+
* - HTTP fallback for environments without raw socket support
|
|
43
|
+
* - Binary (MessagePack) and JSON protocol support
|
|
44
|
+
* - Request queueing during disconnection
|
|
45
|
+
* - Compression for large payloads
|
|
46
|
+
*
|
|
47
|
+
* @module client/connection
|
|
41
48
|
*/
|
|
42
49
|
const net = __importStar(require("net"));
|
|
43
50
|
const zlib = __importStar(require("zlib"));
|
|
44
51
|
const util_1 = require("util");
|
|
45
52
|
const events_1 = require("events");
|
|
46
|
-
const msgpack_1 = require("@msgpack/msgpack");
|
|
47
53
|
const request_1 = require("./http/request");
|
|
48
54
|
const response_1 = require("./http/response");
|
|
49
55
|
const errors_1 = require("../errors");
|
|
50
56
|
const retry_1 = require("../utils/retry");
|
|
51
57
|
const logger_1 = require("../utils/logger");
|
|
52
58
|
const hooks_1 = require("../hooks");
|
|
59
|
+
const msgpack_1 = require("@msgpack/msgpack");
|
|
60
|
+
const constants_1 = require("../constants");
|
|
61
|
+
const tcp_1 = require("./tcp");
|
|
62
|
+
// Re-export validation utilities for backward compatibility
|
|
63
|
+
var validation_1 = require("./validation");
|
|
64
|
+
Object.defineProperty(exports, "MAX_JOB_DATA_SIZE", { enumerable: true, get: function () { return validation_1.MAX_JOB_DATA_SIZE; } });
|
|
65
|
+
Object.defineProperty(exports, "MAX_BATCH_SIZE", { enumerable: true, get: function () { return validation_1.MAX_BATCH_SIZE; } });
|
|
66
|
+
Object.defineProperty(exports, "validateQueueName", { enumerable: true, get: function () { return validation_1.validateQueueName; } });
|
|
67
|
+
Object.defineProperty(exports, "validateJobDataSize", { enumerable: true, get: function () { return validation_1.validateJobDataSize; } });
|
|
68
|
+
Object.defineProperty(exports, "mapJobToPayload", { enumerable: true, get: function () { return validation_1.mapJobToPayload; } });
|
|
53
69
|
const gzip = (0, util_1.promisify)(zlib.gzip);
|
|
54
|
-
|
|
55
|
-
exports.MAX_BATCH_SIZE = 1000;
|
|
56
|
-
const QUEUE_NAME_REGEX = /^[a-zA-Z0-9_.-]{1,256}$/;
|
|
57
|
-
let requestIdCounter = 0;
|
|
58
|
-
const generateReqId = () => `r${++requestIdCounter}`;
|
|
59
|
-
function validateQueueName(queue) {
|
|
60
|
-
if (!queue || typeof queue !== 'string') {
|
|
61
|
-
throw new errors_1.ValidationError('Queue name is required', 'queue');
|
|
62
|
-
}
|
|
63
|
-
if (!QUEUE_NAME_REGEX.test(queue)) {
|
|
64
|
-
throw new errors_1.ValidationError(`Invalid queue name: "${queue}". Must be alphanumeric, _, -, . (1-256 chars)`, 'queue');
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
function validateJobDataSize(data) {
|
|
68
|
-
const size = JSON.stringify(data).length;
|
|
69
|
-
if (size > exports.MAX_JOB_DATA_SIZE) {
|
|
70
|
-
throw new errors_1.ValidationError(`Job data size (${size} bytes) exceeds max (${exports.MAX_JOB_DATA_SIZE} bytes)`, 'data');
|
|
71
|
-
}
|
|
72
|
-
}
|
|
70
|
+
/** Default retry configuration */
|
|
73
71
|
const DEFAULT_RETRY_CONFIG = {
|
|
74
72
|
enabled: false,
|
|
75
|
-
maxRetries:
|
|
76
|
-
initialDelay:
|
|
77
|
-
maxDelay:
|
|
73
|
+
maxRetries: constants_1.DEFAULT_RETRY_MAX_ATTEMPTS,
|
|
74
|
+
initialDelay: constants_1.DEFAULT_RETRY_INITIAL_DELAY,
|
|
75
|
+
maxDelay: constants_1.DEFAULT_RETRY_MAX_DELAY,
|
|
78
76
|
};
|
|
79
77
|
class FlashQConnection extends events_1.EventEmitter {
|
|
80
78
|
_options;
|
|
@@ -83,9 +81,8 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
83
81
|
connectionState = 'disconnected';
|
|
84
82
|
authenticated = false;
|
|
85
83
|
pendingRequests = new Map();
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
binaryBuffer = Buffer.alloc(0);
|
|
84
|
+
jsonBuffer = new tcp_1.JsonBufferHandler();
|
|
85
|
+
binaryBuffer = new tcp_1.BinaryBufferHandler();
|
|
89
86
|
reconnectAttempts = 0;
|
|
90
87
|
reconnectTimer = null;
|
|
91
88
|
manualClose = false;
|
|
@@ -105,26 +102,26 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
105
102
|
prefix: 'flashQ',
|
|
106
103
|
});
|
|
107
104
|
this._options = {
|
|
108
|
-
host: options.host ??
|
|
109
|
-
port: options.port ??
|
|
110
|
-
httpPort: options.httpPort ??
|
|
105
|
+
host: options.host ?? constants_1.DEFAULT_HOST,
|
|
106
|
+
port: options.port ?? constants_1.DEFAULT_TCP_PORT,
|
|
107
|
+
httpPort: options.httpPort ?? constants_1.DEFAULT_HTTP_PORT,
|
|
111
108
|
socketPath: options.socketPath ?? '',
|
|
112
109
|
token: options.token ?? '',
|
|
113
|
-
timeout: options.timeout ??
|
|
110
|
+
timeout: options.timeout ?? constants_1.DEFAULT_CONNECTION_TIMEOUT,
|
|
114
111
|
useHttp: options.useHttp ?? false,
|
|
115
112
|
useBinary: options.useBinary ?? false,
|
|
116
113
|
autoReconnect: options.autoReconnect ?? true,
|
|
117
|
-
maxReconnectAttempts: options.maxReconnectAttempts ??
|
|
118
|
-
reconnectDelay: options.reconnectDelay ??
|
|
119
|
-
maxReconnectDelay: options.maxReconnectDelay ??
|
|
114
|
+
maxReconnectAttempts: options.maxReconnectAttempts ?? constants_1.DEFAULT_MAX_RECONNECT_ATTEMPTS,
|
|
115
|
+
reconnectDelay: options.reconnectDelay ?? constants_1.DEFAULT_RECONNECT_DELAY,
|
|
116
|
+
maxReconnectDelay: options.maxReconnectDelay ?? constants_1.DEFAULT_MAX_RECONNECT_DELAY,
|
|
120
117
|
debug: options.debug ?? false,
|
|
121
118
|
logLevel: logLevel,
|
|
122
119
|
retry: options.retry ?? false,
|
|
123
120
|
queueOnDisconnect: options.queueOnDisconnect ?? false,
|
|
124
|
-
maxQueuedRequests: options.maxQueuedRequests ??
|
|
121
|
+
maxQueuedRequests: options.maxQueuedRequests ?? constants_1.DEFAULT_MAX_QUEUED_REQUESTS,
|
|
125
122
|
trackRequestIds: options.trackRequestIds ?? false,
|
|
126
123
|
compression: options.compression ?? false,
|
|
127
|
-
compressionThreshold: options.compressionThreshold ??
|
|
124
|
+
compressionThreshold: options.compressionThreshold ?? constants_1.DEFAULT_COMPRESSION_THRESHOLD,
|
|
128
125
|
hooks: options.hooks,
|
|
129
126
|
};
|
|
130
127
|
// Parse retry config
|
|
@@ -155,7 +152,17 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
155
152
|
debug(message, data) {
|
|
156
153
|
this.logger.debug(message, data);
|
|
157
154
|
}
|
|
158
|
-
/**
|
|
155
|
+
/**
|
|
156
|
+
* Invokes the connection hook if configured.
|
|
157
|
+
*
|
|
158
|
+
* Creates a ConnectionHookContext and calls the onConnection hook
|
|
159
|
+
* with the appropriate event type. Hook errors are caught and logged
|
|
160
|
+
* to prevent breaking the main flow.
|
|
161
|
+
*
|
|
162
|
+
* @param event - The connection event type
|
|
163
|
+
* @param error - Error object for error events
|
|
164
|
+
* @param attempt - Reconnection attempt number
|
|
165
|
+
*/
|
|
159
166
|
callConnectionHook(event, error, attempt) {
|
|
160
167
|
const hooks = this._options.hooks;
|
|
161
168
|
if (!hooks?.onConnection)
|
|
@@ -236,6 +243,15 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
236
243
|
});
|
|
237
244
|
});
|
|
238
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* Schedules a reconnection attempt with exponential backoff.
|
|
248
|
+
*
|
|
249
|
+
* Calculates delay using: min(initialDelay * 2^attempt, maxDelay) + jitter
|
|
250
|
+
* Jitter is 0-30% of base delay to prevent thundering herd.
|
|
251
|
+
*
|
|
252
|
+
* Emits 'reconnecting' before attempt and 'reconnected' on success.
|
|
253
|
+
* On failure, recursively schedules next attempt until max reached.
|
|
254
|
+
*/
|
|
239
255
|
scheduleReconnect() {
|
|
240
256
|
if (this.manualClose || !this._options.autoReconnect)
|
|
241
257
|
return;
|
|
@@ -247,7 +263,7 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
247
263
|
this.connectionState = 'reconnecting';
|
|
248
264
|
this.reconnectAttempts++;
|
|
249
265
|
const baseDelay = Math.min(this._options.reconnectDelay * Math.pow(2, this.reconnectAttempts - 1), this._options.maxReconnectDelay);
|
|
250
|
-
const delay = baseDelay + Math.random() *
|
|
266
|
+
const delay = baseDelay + Math.random() * constants_1.RECONNECT_JITTER_FACTOR * baseDelay;
|
|
251
267
|
this.emit('reconnecting', { attempt: this.reconnectAttempts, delay });
|
|
252
268
|
this.callConnectionHook('reconnecting', undefined, this.reconnectAttempts);
|
|
253
269
|
this.reconnectTimer = setTimeout(async () => {
|
|
@@ -266,16 +282,24 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
266
282
|
}
|
|
267
283
|
}, delay);
|
|
268
284
|
}
|
|
285
|
+
/**
|
|
286
|
+
* Sets up event handlers on the TCP socket.
|
|
287
|
+
*
|
|
288
|
+
* Handlers:
|
|
289
|
+
* - 'data': Routes to JSON or binary buffer processor based on protocol
|
|
290
|
+
* - 'close': Triggers disconnect event and schedules reconnection
|
|
291
|
+
* - 'error': Emits error event and calls connection hook
|
|
292
|
+
*/
|
|
269
293
|
setupSocketHandlers() {
|
|
270
294
|
if (!this.socket)
|
|
271
295
|
return;
|
|
272
296
|
this.socket.on('data', (data) => {
|
|
273
297
|
if (this._options.useBinary) {
|
|
274
|
-
this.binaryBuffer
|
|
298
|
+
this.binaryBuffer.append(data);
|
|
275
299
|
this.processBinaryBuffer();
|
|
276
300
|
}
|
|
277
301
|
else {
|
|
278
|
-
this.
|
|
302
|
+
this.jsonBuffer.append(data);
|
|
279
303
|
this.processBuffer();
|
|
280
304
|
}
|
|
281
305
|
});
|
|
@@ -294,15 +318,15 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
294
318
|
this.callConnectionHook('error', err);
|
|
295
319
|
});
|
|
296
320
|
}
|
|
321
|
+
/**
|
|
322
|
+
* Processes the JSON text buffer to extract complete responses.
|
|
323
|
+
*
|
|
324
|
+
* Delegates to JsonBufferHandler for line extraction, then parses
|
|
325
|
+
* each complete line as JSON and passes to handleResponse.
|
|
326
|
+
*/
|
|
297
327
|
processBuffer() {
|
|
298
|
-
|
|
299
|
-
const fullBuffer = this.bufferRemainder + this.bufferChunks.join('');
|
|
300
|
-
this.bufferChunks.length = 0; // Clear array without reallocating
|
|
301
|
-
const lines = fullBuffer.split('\n');
|
|
302
|
-
this.bufferRemainder = lines.pop() ?? '';
|
|
328
|
+
const lines = this.jsonBuffer.extractLines();
|
|
303
329
|
for (const line of lines) {
|
|
304
|
-
if (!line.trim())
|
|
305
|
-
continue;
|
|
306
330
|
try {
|
|
307
331
|
this.handleResponse(JSON.parse(line));
|
|
308
332
|
}
|
|
@@ -315,24 +339,35 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
315
339
|
}
|
|
316
340
|
}
|
|
317
341
|
}
|
|
342
|
+
/**
|
|
343
|
+
* Processes the binary buffer to extract MessagePack frames.
|
|
344
|
+
*
|
|
345
|
+
* Delegates to BinaryBufferHandler for frame extraction and decoding,
|
|
346
|
+
* then passes each decoded object to handleResponse.
|
|
347
|
+
*/
|
|
318
348
|
processBinaryBuffer() {
|
|
319
|
-
|
|
320
|
-
const
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
const frameData = this.binaryBuffer.subarray(4, 4 + len);
|
|
324
|
-
this.binaryBuffer = this.binaryBuffer.subarray(4 + len);
|
|
325
|
-
try {
|
|
326
|
-
this.handleResponse((0, msgpack_1.decode)(frameData));
|
|
327
|
-
}
|
|
328
|
-
catch (err) {
|
|
329
|
-
this.debug('Failed to decode binary response', {
|
|
330
|
-
error: err instanceof Error ? err.message : err,
|
|
331
|
-
});
|
|
332
|
-
this.emit('parse_error', err, frameData);
|
|
349
|
+
try {
|
|
350
|
+
const frames = this.binaryBuffer.extractFrames();
|
|
351
|
+
for (const frame of frames) {
|
|
352
|
+
this.handleResponse(frame);
|
|
333
353
|
}
|
|
334
354
|
}
|
|
355
|
+
catch (err) {
|
|
356
|
+
this.debug('Failed to decode binary response', {
|
|
357
|
+
error: err instanceof Error ? err.message : err,
|
|
358
|
+
});
|
|
359
|
+
this.emit('parse_error', err);
|
|
360
|
+
}
|
|
335
361
|
}
|
|
362
|
+
/**
|
|
363
|
+
* Handles a parsed response from the server.
|
|
364
|
+
*
|
|
365
|
+
* Matches response.reqId to pending request, clears timeout,
|
|
366
|
+
* and resolves/rejects the promise. Server errors are parsed
|
|
367
|
+
* into typed FlashQError subclasses.
|
|
368
|
+
*
|
|
369
|
+
* @param response - Parsed response object with reqId
|
|
370
|
+
*/
|
|
336
371
|
handleResponse(response) {
|
|
337
372
|
if (!response.reqId) {
|
|
338
373
|
this.logger.warn('Received response without reqId', response);
|
|
@@ -372,6 +407,9 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
372
407
|
req.reject(new errors_1.ConnectionError('Connection closed', 'CONNECTION_CLOSED'));
|
|
373
408
|
}
|
|
374
409
|
this.requestQueue = [];
|
|
410
|
+
// Reset buffers
|
|
411
|
+
this.jsonBuffer.reset();
|
|
412
|
+
this.binaryBuffer.reset();
|
|
375
413
|
if (this.socket) {
|
|
376
414
|
this.socket.destroy();
|
|
377
415
|
this.socket = null;
|
|
@@ -423,6 +461,17 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
423
461
|
}
|
|
424
462
|
return this.doSend(command, customTimeout);
|
|
425
463
|
}
|
|
464
|
+
/**
|
|
465
|
+
* Internal send implementation without retry wrapper.
|
|
466
|
+
*
|
|
467
|
+
* Routes to queueRequest if disconnecting with queue enabled,
|
|
468
|
+
* waits for reconnection if in progress, then delegates to
|
|
469
|
+
* sendTcp or sendHttp based on protocol configuration.
|
|
470
|
+
*
|
|
471
|
+
* @param command - Command object to send
|
|
472
|
+
* @param customTimeout - Optional timeout override
|
|
473
|
+
* @returns Promise resolving to response
|
|
474
|
+
*/
|
|
426
475
|
async doSend(command, customTimeout) {
|
|
427
476
|
// Queue request if disconnected and queueOnDisconnect is enabled
|
|
428
477
|
if (this.queueOnDisconnect && this.connectionState === 'reconnecting') {
|
|
@@ -437,6 +486,15 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
437
486
|
? this.sendHttp(command, customTimeout)
|
|
438
487
|
: this.sendTcp(command, customTimeout);
|
|
439
488
|
}
|
|
489
|
+
/**
|
|
490
|
+
* Waits for an in-progress reconnection to complete.
|
|
491
|
+
*
|
|
492
|
+
* Listens for 'reconnected' or 'reconnect_failed' events.
|
|
493
|
+
* Times out after options.timeout milliseconds.
|
|
494
|
+
*
|
|
495
|
+
* @returns Promise that resolves when reconnected
|
|
496
|
+
* @throws ConnectionError on timeout or reconnection failure
|
|
497
|
+
*/
|
|
440
498
|
async waitForReconnection() {
|
|
441
499
|
return new Promise((resolve, reject) => {
|
|
442
500
|
const timeout = setTimeout(() => {
|
|
@@ -458,6 +516,17 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
458
516
|
this.once('reconnect_failed', onFailed);
|
|
459
517
|
});
|
|
460
518
|
}
|
|
519
|
+
/**
|
|
520
|
+
* Queues a request for later execution after reconnection.
|
|
521
|
+
*
|
|
522
|
+
* Used when queueOnDisconnect is enabled and connection is lost.
|
|
523
|
+
* Requests are stored and replayed in order when reconnected.
|
|
524
|
+
*
|
|
525
|
+
* @param command - Command to queue
|
|
526
|
+
* @param customTimeout - Optional timeout for when request is eventually sent
|
|
527
|
+
* @returns Promise that resolves when request completes after reconnection
|
|
528
|
+
* @throws ConnectionError if queue is full
|
|
529
|
+
*/
|
|
461
530
|
queueRequest(command, customTimeout) {
|
|
462
531
|
if (this.requestQueue.length >= this.maxQueuedRequests) {
|
|
463
532
|
return Promise.reject(new errors_1.ConnectionError(`Request queue full (max: ${this.maxQueuedRequests})`, 'QUEUE_FULL'));
|
|
@@ -472,6 +541,13 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
472
541
|
});
|
|
473
542
|
});
|
|
474
543
|
}
|
|
544
|
+
/**
|
|
545
|
+
* Processes all queued requests after successful reconnection.
|
|
546
|
+
*
|
|
547
|
+
* Sends each queued request in order, resolving or rejecting
|
|
548
|
+
* the original promises. Clears the queue before processing
|
|
549
|
+
* to handle any new requests that may be queued during replay.
|
|
550
|
+
*/
|
|
475
551
|
async processRequestQueue() {
|
|
476
552
|
if (this.requestQueue.length === 0)
|
|
477
553
|
return;
|
|
@@ -488,11 +564,23 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
488
564
|
}
|
|
489
565
|
}
|
|
490
566
|
}
|
|
567
|
+
/**
|
|
568
|
+
* Sends a command over the TCP socket.
|
|
569
|
+
*
|
|
570
|
+
* Handles request ID generation, optional compression,
|
|
571
|
+
* timeout management, and protocol serialization (JSON or MessagePack).
|
|
572
|
+
*
|
|
573
|
+
* @param command - Command object to send
|
|
574
|
+
* @param customTimeout - Optional timeout override in milliseconds
|
|
575
|
+
* @returns Promise resolving to typed response
|
|
576
|
+
* @throws ConnectionError if not connected
|
|
577
|
+
* @throws TimeoutError if request times out
|
|
578
|
+
*/
|
|
491
579
|
async sendTcp(command, customTimeout) {
|
|
492
580
|
if (!this.socket || this.connectionState !== 'connected') {
|
|
493
581
|
throw new errors_1.ConnectionError('Not connected', 'NOT_CONNECTED');
|
|
494
582
|
}
|
|
495
|
-
const reqId =
|
|
583
|
+
const reqId = (0, tcp_1.generateRequestId)();
|
|
496
584
|
const timeoutMs = customTimeout ?? this._options.timeout;
|
|
497
585
|
// Set request ID for logger correlation if tracking is enabled
|
|
498
586
|
if (this.trackRequestIds) {
|
|
@@ -560,6 +648,17 @@ class FlashQConnection extends events_1.EventEmitter {
|
|
|
560
648
|
this.logger.trace('Command sent', { reqId });
|
|
561
649
|
});
|
|
562
650
|
}
|
|
651
|
+
/**
|
|
652
|
+
* Sends a command via HTTP REST API.
|
|
653
|
+
*
|
|
654
|
+
* Converts the command to appropriate HTTP method and URL,
|
|
655
|
+
* handles authentication headers, and parses the JSON response.
|
|
656
|
+
*
|
|
657
|
+
* @param command - Command object to convert to HTTP request
|
|
658
|
+
* @param customTimeout - Optional timeout override in milliseconds
|
|
659
|
+
* @returns Promise resolving to typed response
|
|
660
|
+
* @throws TimeoutError if request times out
|
|
661
|
+
*/
|
|
563
662
|
async sendHttp(command, customTimeout) {
|
|
564
663
|
const { cmd, ...params } = command;
|
|
565
664
|
const baseUrl = `http://${this._options.host}:${this._options.httpPort}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/client/connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/client/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/client/methods/core.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/client/methods/core.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAIL,cAAc,EACd,iBAAiB,EAClB,MAAM,eAAe,CAAC;AASvB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,wBAAsB,IAAI,CAAC,CAAC,GAAG,OAAO,EACpC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,CAAC,EACP,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,GAAG,CAAC,CA4Cd;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EACzC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG,WAAW,CAAC,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,aAAa,CAAC,CAAC,GAAG,OAAO,EAC7C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG,WAAW,CAAC,GACrC,OAAO,CAAC,eAAe,CAAC,CA0E1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,IAAI,CAAC,CAAC,GAAG,OAAO,EACpC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,GAAG,GAAG;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,GAAG,IAAI,CAAC,CAarC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EACzC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC,CAqBnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/F;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAavF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9F"}
|