@ya-modbus/transport 0.7.0 → 0.7.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 (114) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cjs/src/create-modbus-transport.d.ts.map +1 -0
  3. package/dist/cjs/src/create-modbus-transport.js.map +1 -0
  4. package/dist/cjs/src/factory.d.ts.map +1 -0
  5. package/dist/cjs/src/factory.js.map +1 -0
  6. package/dist/{esm → cjs/src}/index.d.ts +1 -0
  7. package/dist/cjs/src/index.d.ts.map +1 -0
  8. package/dist/cjs/{index.js → src/index.js} +3 -1
  9. package/dist/cjs/src/index.js.map +1 -0
  10. package/dist/cjs/src/manager.d.ts +91 -0
  11. package/dist/cjs/src/manager.d.ts.map +1 -0
  12. package/dist/cjs/src/manager.js +153 -0
  13. package/dist/cjs/src/manager.js.map +1 -0
  14. package/dist/cjs/src/mutex-transport.d.ts.map +1 -0
  15. package/dist/cjs/src/mutex-transport.js.map +1 -0
  16. package/dist/cjs/src/retry.d.ts.map +1 -0
  17. package/dist/cjs/src/retry.js.map +1 -0
  18. package/dist/cjs/src/rtu-transport.d.ts.map +1 -0
  19. package/dist/cjs/src/rtu-transport.js.map +1 -0
  20. package/dist/cjs/src/slave-transport.d.ts +61 -0
  21. package/dist/cjs/src/slave-transport.d.ts.map +1 -0
  22. package/dist/cjs/src/slave-transport.js +136 -0
  23. package/dist/cjs/src/slave-transport.js.map +1 -0
  24. package/dist/cjs/src/tcp-transport.d.ts.map +1 -0
  25. package/dist/cjs/src/tcp-transport.js.map +1 -0
  26. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  27. package/dist/esm/src/create-modbus-transport.d.ts.map +1 -0
  28. package/dist/esm/src/create-modbus-transport.js.map +1 -0
  29. package/dist/esm/src/factory.d.ts.map +1 -0
  30. package/dist/esm/src/factory.js.map +1 -0
  31. package/dist/{cjs → esm/src}/index.d.ts +1 -0
  32. package/dist/esm/src/index.d.ts.map +1 -0
  33. package/dist/esm/{index.js → src/index.js} +1 -0
  34. package/dist/esm/src/index.js.map +1 -0
  35. package/dist/esm/src/manager.d.ts +91 -0
  36. package/dist/esm/src/manager.d.ts.map +1 -0
  37. package/dist/esm/src/manager.js +148 -0
  38. package/dist/esm/src/manager.js.map +1 -0
  39. package/dist/esm/src/mutex-transport.d.ts.map +1 -0
  40. package/dist/esm/src/mutex-transport.js.map +1 -0
  41. package/dist/esm/src/retry.d.ts.map +1 -0
  42. package/dist/esm/src/retry.js.map +1 -0
  43. package/dist/esm/src/rtu-transport.d.ts.map +1 -0
  44. package/dist/esm/src/rtu-transport.js.map +1 -0
  45. package/dist/esm/src/slave-transport.d.ts +61 -0
  46. package/dist/esm/src/slave-transport.d.ts.map +1 -0
  47. package/dist/esm/src/slave-transport.js +132 -0
  48. package/dist/esm/src/slave-transport.js.map +1 -0
  49. package/dist/esm/src/tcp-transport.d.ts.map +1 -0
  50. package/dist/esm/src/tcp-transport.js.map +1 -0
  51. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  52. package/package.json +10 -10
  53. package/dist/cjs/create-modbus-transport.d.ts.map +0 -1
  54. package/dist/cjs/create-modbus-transport.js.map +0 -1
  55. package/dist/cjs/factory.d.ts.map +0 -1
  56. package/dist/cjs/factory.js.map +0 -1
  57. package/dist/cjs/index.d.ts.map +0 -1
  58. package/dist/cjs/index.js.map +0 -1
  59. package/dist/cjs/manager.d.ts +0 -66
  60. package/dist/cjs/manager.d.ts.map +0 -1
  61. package/dist/cjs/manager.js +0 -136
  62. package/dist/cjs/manager.js.map +0 -1
  63. package/dist/cjs/mutex-transport.d.ts.map +0 -1
  64. package/dist/cjs/mutex-transport.js.map +0 -1
  65. package/dist/cjs/retry.d.ts.map +0 -1
  66. package/dist/cjs/retry.js.map +0 -1
  67. package/dist/cjs/rtu-transport.d.ts.map +0 -1
  68. package/dist/cjs/rtu-transport.js.map +0 -1
  69. package/dist/cjs/tcp-transport.d.ts.map +0 -1
  70. package/dist/cjs/tcp-transport.js.map +0 -1
  71. package/dist/esm/create-modbus-transport.d.ts.map +0 -1
  72. package/dist/esm/create-modbus-transport.js.map +0 -1
  73. package/dist/esm/factory.d.ts.map +0 -1
  74. package/dist/esm/factory.js.map +0 -1
  75. package/dist/esm/index.d.ts.map +0 -1
  76. package/dist/esm/index.js.map +0 -1
  77. package/dist/esm/manager.d.ts +0 -66
  78. package/dist/esm/manager.d.ts.map +0 -1
  79. package/dist/esm/manager.js +0 -132
  80. package/dist/esm/manager.js.map +0 -1
  81. package/dist/esm/mutex-transport.d.ts.map +0 -1
  82. package/dist/esm/mutex-transport.js.map +0 -1
  83. package/dist/esm/retry.d.ts.map +0 -1
  84. package/dist/esm/retry.js.map +0 -1
  85. package/dist/esm/rtu-transport.d.ts.map +0 -1
  86. package/dist/esm/rtu-transport.js.map +0 -1
  87. package/dist/esm/tcp-transport.d.ts.map +0 -1
  88. package/dist/esm/tcp-transport.js.map +0 -1
  89. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  90. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  91. /package/dist/cjs/{create-modbus-transport.d.ts → src/create-modbus-transport.d.ts} +0 -0
  92. /package/dist/cjs/{create-modbus-transport.js → src/create-modbus-transport.js} +0 -0
  93. /package/dist/cjs/{factory.d.ts → src/factory.d.ts} +0 -0
  94. /package/dist/cjs/{factory.js → src/factory.js} +0 -0
  95. /package/dist/cjs/{mutex-transport.d.ts → src/mutex-transport.d.ts} +0 -0
  96. /package/dist/cjs/{mutex-transport.js → src/mutex-transport.js} +0 -0
  97. /package/dist/cjs/{retry.d.ts → src/retry.d.ts} +0 -0
  98. /package/dist/cjs/{retry.js → src/retry.js} +0 -0
  99. /package/dist/cjs/{rtu-transport.d.ts → src/rtu-transport.d.ts} +0 -0
  100. /package/dist/cjs/{rtu-transport.js → src/rtu-transport.js} +0 -0
  101. /package/dist/cjs/{tcp-transport.d.ts → src/tcp-transport.d.ts} +0 -0
  102. /package/dist/cjs/{tcp-transport.js → src/tcp-transport.js} +0 -0
  103. /package/dist/esm/{create-modbus-transport.d.ts → src/create-modbus-transport.d.ts} +0 -0
  104. /package/dist/esm/{create-modbus-transport.js → src/create-modbus-transport.js} +0 -0
  105. /package/dist/esm/{factory.d.ts → src/factory.d.ts} +0 -0
  106. /package/dist/esm/{factory.js → src/factory.js} +0 -0
  107. /package/dist/esm/{mutex-transport.d.ts → src/mutex-transport.d.ts} +0 -0
  108. /package/dist/esm/{mutex-transport.js → src/mutex-transport.js} +0 -0
  109. /package/dist/esm/{retry.d.ts → src/retry.d.ts} +0 -0
  110. /package/dist/esm/{retry.js → src/retry.js} +0 -0
  111. /package/dist/esm/{rtu-transport.d.ts → src/rtu-transport.d.ts} +0 -0
  112. /package/dist/esm/{rtu-transport.js → src/rtu-transport.js} +0 -0
  113. /package/dist/esm/{tcp-transport.d.ts → src/tcp-transport.d.ts} +0 -0
  114. /package/dist/esm/{tcp-transport.js → src/tcp-transport.js} +0 -0
@@ -1,66 +0,0 @@
1
- import type { Transport } from '@ya-modbus/driver-types';
2
- import { type TransportConfig } from './factory.js';
3
- /**
4
- * Statistics about managed transports
5
- */
6
- export interface TransportStats {
7
- totalTransports: number;
8
- rtuTransports: number;
9
- tcpTransports: number;
10
- }
11
- /**
12
- * TransportManager pools transport instances and provides mutex-based
13
- * serialization for all transport operations to prevent concurrent access issues.
14
- *
15
- * Key behaviors:
16
- * - All transports (RTU and TCP) are pooled by connection configuration
17
- * - RTU transports are pooled by bus configuration (port, baud rate, parity, etc.)
18
- * - TCP transports are pooled by host and port
19
- * - Multiple devices on the same connection share a single transport instance
20
- * - All operations are serialized using async-mutex to prevent race conditions
21
- *
22
- * Why TCP needs mutex protection:
23
- * - Many Modbus devices allow only one or a limited number of TCP connections
24
- * - Even with multiple connections, devices often process requests sequentially
25
- * - Concurrent requests can cause timeouts, dropped packets, or incorrect responses
26
- * - Serialization ensures reliable communication regardless of device limitations
27
- */
28
- export declare class TransportManager {
29
- private readonly transports;
30
- /**
31
- * Get or create a transport for the given configuration.
32
- * Returns mutex-wrapped shared transport if one exists for the same connection.
33
- *
34
- * @param config - RTU or TCP transport configuration
35
- * @returns Transport instance wrapped with mutex for thread-safe operations
36
- */
37
- getTransport(config: TransportConfig): Promise<Transport>;
38
- /**
39
- * Get statistics about managed transports
40
- *
41
- * @returns Transport statistics
42
- */
43
- getStats(): TransportStats;
44
- /**
45
- * Close all managed transports and clear the pool.
46
- * Errors during close are logged but do not stop the process.
47
- */
48
- closeAll(): Promise<void>;
49
- /**
50
- * Generate a unique key for a transport configuration.
51
- * For RTU: Key includes all bus parameters (port, baud, parity, etc.)
52
- * For TCP: Key includes host and port
53
- *
54
- * @param config - Transport configuration
55
- * @returns Connection key string
56
- */
57
- private getConnectionKey;
58
- /**
59
- * Type guard to check if config is RTU
60
- *
61
- * @param config - Transport configuration
62
- * @returns True if RTU config
63
- */
64
- private isRTUConfig;
65
- }
66
- //# sourceMappingURL=manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AAepE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAE/D;;;;;;OAMG;IACG,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAqD/D;;;;OAIG;IACH,QAAQ,IAAI,cAAc;IAS1B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAc/B;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CAGpB"}
@@ -1,136 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransportManager = void 0;
4
- const async_mutex_1 = require("async-mutex");
5
- const factory_js_1 = require("./factory.js");
6
- const mutex_transport_js_1 = require("./mutex-transport.js");
7
- /**
8
- * TransportManager pools transport instances and provides mutex-based
9
- * serialization for all transport operations to prevent concurrent access issues.
10
- *
11
- * Key behaviors:
12
- * - All transports (RTU and TCP) are pooled by connection configuration
13
- * - RTU transports are pooled by bus configuration (port, baud rate, parity, etc.)
14
- * - TCP transports are pooled by host and port
15
- * - Multiple devices on the same connection share a single transport instance
16
- * - All operations are serialized using async-mutex to prevent race conditions
17
- *
18
- * Why TCP needs mutex protection:
19
- * - Many Modbus devices allow only one or a limited number of TCP connections
20
- * - Even with multiple connections, devices often process requests sequentially
21
- * - Concurrent requests can cause timeouts, dropped packets, or incorrect responses
22
- * - Serialization ensures reliable communication regardless of device limitations
23
- */
24
- class TransportManager {
25
- constructor() {
26
- this.transports = new Map();
27
- }
28
- /**
29
- * Get or create a transport for the given configuration.
30
- * Returns mutex-wrapped shared transport if one exists for the same connection.
31
- *
32
- * @param config - RTU or TCP transport configuration
33
- * @returns Transport instance wrapped with mutex for thread-safe operations
34
- */
35
- async getTransport(config) {
36
- const key = this.getConnectionKey(config);
37
- const isRTU = this.isRTUConfig(config);
38
- // For RTU, reuse existing transport if available
39
- if (isRTU) {
40
- const entry = this.transports.get(key);
41
- if (entry) {
42
- return entry.wrappedTransport;
43
- }
44
- // Create new RTU transport with mutex wrapper
45
- const rawTransport = await (0, factory_js_1.createTransport)(config);
46
- const mutex = new async_mutex_1.Mutex();
47
- const wrappedTransport = new mutex_transport_js_1.MutexTransport(rawTransport, mutex);
48
- const newEntry = {
49
- rawTransport,
50
- wrappedTransport,
51
- mutex,
52
- config,
53
- isRTU: true,
54
- };
55
- this.transports.set(key, newEntry);
56
- return wrappedTransport;
57
- }
58
- // For TCP, reuse existing transport if available
59
- // TCP is pooled like RTU because many devices support only one connection
60
- // or process requests sequentially even with multiple connections
61
- const entry = this.transports.get(key);
62
- if (entry) {
63
- return entry.wrappedTransport;
64
- }
65
- // Create new TCP transport with mutex wrapper
66
- // Mutex prevents concurrent requests that could cause timeouts or errors
67
- const rawTransport = await (0, factory_js_1.createTransport)(config);
68
- const mutex = new async_mutex_1.Mutex();
69
- const wrappedTransport = new mutex_transport_js_1.MutexTransport(rawTransport, mutex);
70
- const newEntry = {
71
- rawTransport,
72
- wrappedTransport,
73
- mutex,
74
- config,
75
- isRTU: false,
76
- };
77
- this.transports.set(key, newEntry);
78
- return wrappedTransport;
79
- }
80
- /**
81
- * Get statistics about managed transports
82
- *
83
- * @returns Transport statistics
84
- */
85
- getStats() {
86
- const entries = Array.from(this.transports.values());
87
- return {
88
- totalTransports: entries.length,
89
- rtuTransports: entries.filter((e) => e.isRTU).length,
90
- tcpTransports: entries.filter((e) => !e.isRTU).length,
91
- };
92
- }
93
- /**
94
- * Close all managed transports and clear the pool.
95
- * Errors during close are logged but do not stop the process.
96
- */
97
- async closeAll() {
98
- const closePromises = Array.from(this.transports.values()).map(async (entry) => {
99
- try {
100
- await entry.rawTransport.close();
101
- }
102
- catch (error) {
103
- // Log but don't throw - we want to close all transports
104
- console.error('Error closing transport:', error);
105
- }
106
- });
107
- await Promise.all(closePromises);
108
- this.transports.clear();
109
- }
110
- /**
111
- * Generate a unique key for a transport configuration.
112
- * For RTU: Key includes all bus parameters (port, baud, parity, etc.)
113
- * For TCP: Key includes host and port
114
- *
115
- * @param config - Transport configuration
116
- * @returns Connection key string
117
- */
118
- getConnectionKey(config) {
119
- if (this.isRTUConfig(config)) {
120
- return `rtu:${config.port}:${config.baudRate}:${config.dataBits}:${config.parity}:${config.stopBits}`;
121
- }
122
- // TCP config - safe to access host/port because isRTUConfig returned false
123
- return `tcp:${config.host}:${config.port ?? 502}`;
124
- }
125
- /**
126
- * Type guard to check if config is RTU
127
- *
128
- * @param config - Transport configuration
129
- * @returns True if RTU config
130
- */
131
- isRTUConfig(config) {
132
- return 'port' in config && typeof config.port === 'string' && !('host' in config);
133
- }
134
- }
135
- exports.TransportManager = TransportManager;
136
- //# sourceMappingURL=manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutex-transport.d.ts","sourceRoot":"","sources":["../../src/mutex-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,SAAS;IAE5C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK;IAGzB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMrE,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMnE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM1D,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMnE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/D,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtE,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutex-transport.js","sourceRoot":"","sources":["../../src/mutex-transport.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;GAQG;AACH,MAAa,cAAc;IACzB,YACmB,SAAoB,EACpB,KAAY;QADZ,cAAS,GAAT,SAAS,CAAW;QACpB,UAAK,GAAL,KAAK,CAAO;IAC5B,CAAC;IAEJ,KAAK,CAAC,oBAAoB,CAAC,OAAe,EAAE,KAAa;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,KAAa;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,KAAa;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,KAAa;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,KAAa;QACtD,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,KAAc;QACnD,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,OAAe,EAAE,MAAc;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,MAAc;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,4CAA4C;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IAC/B,CAAC;CACF;AA1DD,wCA0DC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/retry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,WAAW,IAAI,CAAA;AAE5B,mDAAmD;AACnD,eAAO,MAAM,cAAc,MAAM,CAAA;AAYjC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;AAEjE;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,GAAE,MAAoB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAqBZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/retry.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAmCH,8BAyBC;AA1DD,6DAA6D;AAChD,QAAA,WAAW,GAAG,CAAC,CAAA;AAE5B,mDAAmD;AACtC,QAAA,cAAc,GAAG,GAAG,CAAA;AAEjC;;;;;GAKG;AACH,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAUD;;;;;;;;GAQG;AACI,KAAK,UAAU,SAAS,CAC7B,EAAoB,EACpB,aAAqB,mBAAW,EAChC,MAAoB;IAEpB,IAAI,SAAS,GAAU,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAE/D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAA;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAErE,kCAAkC;YAClC,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzB,8CAA8C;gBAC9C,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;gBAC5B,CAAC;gBACD,MAAM,KAAK,CAAC,sBAAc,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAA;AACjB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rtu-transport.d.ts","sourceRoot":"","sources":["../../src/rtu-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAI9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,gBAAgB;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa;IACb,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CACjC;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAkB9E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rtu-transport.js","sourceRoot":"","sources":["../../src/rtu-transport.ts"],"names":[],"mappings":";;AAoCA,gDAkBC;;AArDD,0EAAqC;AAErC,6EAAoE;AA2BpE;;;;;GAKG;AACI,KAAK,UAAU,kBAAkB,CAAC,MAAiB;IACxD,MAAM,MAAM,GAAG,IAAI,uBAAS,EAAE,CAAA;IAE9B,yBAAyB;IACzB,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE;QAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAA;IAEF,eAAe;IACf,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE5B,cAAc;IACd,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAA;IAEzC,OAAO,IAAA,kDAAqB,EAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;AACxE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tcp-transport.d.ts","sourceRoot":"","sources":["../../src/tcp-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAIxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CACjC;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAa9E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tcp-transport.js","sourceRoot":"","sources":["../../src/tcp-transport.ts"],"names":[],"mappings":";;AA8BA,gDAaC;;AA1CD,0EAAqC;AAErC,6EAAoE;AAqBpE;;;;;GAKG;AACI,KAAK,UAAU,kBAAkB,CAAC,MAAiB;IACxD,MAAM,MAAM,GAAG,IAAI,uBAAS,EAAE,CAAA;IAE9B,wBAAwB;IACxB,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAA;IAElE,eAAe;IACf,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE5B,cAAc;IACd,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAA;IAEzC,OAAO,IAAA,kDAAqB,EAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;AACxE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-modbus-transport.d.ts","sourceRoot":"","sources":["../../src/create-modbus-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,SAAS,MAAM,eAAe,CAAA;AAE1C,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAExD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,UAAU,GAAE,MAAU,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,SAAS,CAoGX"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-modbus-transport.js","sourceRoot":"","sources":["../../src/create-modbus-transport.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAGvE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA;AAEpC;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,CAAA;AASnD;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAejF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAkB,MAAM,oBAAoB,CAAA;AAWvE;;GAEG;AACH,SAAS,WAAW,CAAC,MAAuB;IAC1C,OAAO,MAAM,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAA;AAChD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAuB;IAC3D,qDAAqD;IACrD,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IAClE,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;AAC9E,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAwB,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAkB,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAkB,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAoB,MAAM,YAAY,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAuB,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1,66 +0,0 @@
1
- import type { Transport } from '@ya-modbus/driver-types';
2
- import { type TransportConfig } from './factory.js';
3
- /**
4
- * Statistics about managed transports
5
- */
6
- export interface TransportStats {
7
- totalTransports: number;
8
- rtuTransports: number;
9
- tcpTransports: number;
10
- }
11
- /**
12
- * TransportManager pools transport instances and provides mutex-based
13
- * serialization for all transport operations to prevent concurrent access issues.
14
- *
15
- * Key behaviors:
16
- * - All transports (RTU and TCP) are pooled by connection configuration
17
- * - RTU transports are pooled by bus configuration (port, baud rate, parity, etc.)
18
- * - TCP transports are pooled by host and port
19
- * - Multiple devices on the same connection share a single transport instance
20
- * - All operations are serialized using async-mutex to prevent race conditions
21
- *
22
- * Why TCP needs mutex protection:
23
- * - Many Modbus devices allow only one or a limited number of TCP connections
24
- * - Even with multiple connections, devices often process requests sequentially
25
- * - Concurrent requests can cause timeouts, dropped packets, or incorrect responses
26
- * - Serialization ensures reliable communication regardless of device limitations
27
- */
28
- export declare class TransportManager {
29
- private readonly transports;
30
- /**
31
- * Get or create a transport for the given configuration.
32
- * Returns mutex-wrapped shared transport if one exists for the same connection.
33
- *
34
- * @param config - RTU or TCP transport configuration
35
- * @returns Transport instance wrapped with mutex for thread-safe operations
36
- */
37
- getTransport(config: TransportConfig): Promise<Transport>;
38
- /**
39
- * Get statistics about managed transports
40
- *
41
- * @returns Transport statistics
42
- */
43
- getStats(): TransportStats;
44
- /**
45
- * Close all managed transports and clear the pool.
46
- * Errors during close are logged but do not stop the process.
47
- */
48
- closeAll(): Promise<void>;
49
- /**
50
- * Generate a unique key for a transport configuration.
51
- * For RTU: Key includes all bus parameters (port, baud, parity, etc.)
52
- * For TCP: Key includes host and port
53
- *
54
- * @param config - Transport configuration
55
- * @returns Connection key string
56
- */
57
- private getConnectionKey;
58
- /**
59
- * Type guard to check if config is RTU
60
- *
61
- * @param config - Transport configuration
62
- * @returns True if RTU config
63
- */
64
- private isRTUConfig;
65
- }
66
- //# sourceMappingURL=manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AAepE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAE/D;;;;;;OAMG;IACG,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAqD/D;;;;OAIG;IACH,QAAQ,IAAI,cAAc;IAS1B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAc/B;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CAGpB"}
@@ -1,132 +0,0 @@
1
- import { Mutex } from 'async-mutex';
2
- import { createTransport } from './factory.js';
3
- import { MutexTransport } from './mutex-transport.js';
4
- /**
5
- * TransportManager pools transport instances and provides mutex-based
6
- * serialization for all transport operations to prevent concurrent access issues.
7
- *
8
- * Key behaviors:
9
- * - All transports (RTU and TCP) are pooled by connection configuration
10
- * - RTU transports are pooled by bus configuration (port, baud rate, parity, etc.)
11
- * - TCP transports are pooled by host and port
12
- * - Multiple devices on the same connection share a single transport instance
13
- * - All operations are serialized using async-mutex to prevent race conditions
14
- *
15
- * Why TCP needs mutex protection:
16
- * - Many Modbus devices allow only one or a limited number of TCP connections
17
- * - Even with multiple connections, devices often process requests sequentially
18
- * - Concurrent requests can cause timeouts, dropped packets, or incorrect responses
19
- * - Serialization ensures reliable communication regardless of device limitations
20
- */
21
- export class TransportManager {
22
- constructor() {
23
- this.transports = new Map();
24
- }
25
- /**
26
- * Get or create a transport for the given configuration.
27
- * Returns mutex-wrapped shared transport if one exists for the same connection.
28
- *
29
- * @param config - RTU or TCP transport configuration
30
- * @returns Transport instance wrapped with mutex for thread-safe operations
31
- */
32
- async getTransport(config) {
33
- const key = this.getConnectionKey(config);
34
- const isRTU = this.isRTUConfig(config);
35
- // For RTU, reuse existing transport if available
36
- if (isRTU) {
37
- const entry = this.transports.get(key);
38
- if (entry) {
39
- return entry.wrappedTransport;
40
- }
41
- // Create new RTU transport with mutex wrapper
42
- const rawTransport = await createTransport(config);
43
- const mutex = new Mutex();
44
- const wrappedTransport = new MutexTransport(rawTransport, mutex);
45
- const newEntry = {
46
- rawTransport,
47
- wrappedTransport,
48
- mutex,
49
- config,
50
- isRTU: true,
51
- };
52
- this.transports.set(key, newEntry);
53
- return wrappedTransport;
54
- }
55
- // For TCP, reuse existing transport if available
56
- // TCP is pooled like RTU because many devices support only one connection
57
- // or process requests sequentially even with multiple connections
58
- const entry = this.transports.get(key);
59
- if (entry) {
60
- return entry.wrappedTransport;
61
- }
62
- // Create new TCP transport with mutex wrapper
63
- // Mutex prevents concurrent requests that could cause timeouts or errors
64
- const rawTransport = await createTransport(config);
65
- const mutex = new Mutex();
66
- const wrappedTransport = new MutexTransport(rawTransport, mutex);
67
- const newEntry = {
68
- rawTransport,
69
- wrappedTransport,
70
- mutex,
71
- config,
72
- isRTU: false,
73
- };
74
- this.transports.set(key, newEntry);
75
- return wrappedTransport;
76
- }
77
- /**
78
- * Get statistics about managed transports
79
- *
80
- * @returns Transport statistics
81
- */
82
- getStats() {
83
- const entries = Array.from(this.transports.values());
84
- return {
85
- totalTransports: entries.length,
86
- rtuTransports: entries.filter((e) => e.isRTU).length,
87
- tcpTransports: entries.filter((e) => !e.isRTU).length,
88
- };
89
- }
90
- /**
91
- * Close all managed transports and clear the pool.
92
- * Errors during close are logged but do not stop the process.
93
- */
94
- async closeAll() {
95
- const closePromises = Array.from(this.transports.values()).map(async (entry) => {
96
- try {
97
- await entry.rawTransport.close();
98
- }
99
- catch (error) {
100
- // Log but don't throw - we want to close all transports
101
- console.error('Error closing transport:', error);
102
- }
103
- });
104
- await Promise.all(closePromises);
105
- this.transports.clear();
106
- }
107
- /**
108
- * Generate a unique key for a transport configuration.
109
- * For RTU: Key includes all bus parameters (port, baud, parity, etc.)
110
- * For TCP: Key includes host and port
111
- *
112
- * @param config - Transport configuration
113
- * @returns Connection key string
114
- */
115
- getConnectionKey(config) {
116
- if (this.isRTUConfig(config)) {
117
- return `rtu:${config.port}:${config.baudRate}:${config.dataBits}:${config.parity}:${config.stopBits}`;
118
- }
119
- // TCP config - safe to access host/port because isRTUConfig returned false
120
- return `tcp:${config.host}:${config.port ?? 502}`;
121
- }
122
- /**
123
- * Type guard to check if config is RTU
124
- *
125
- * @param config - Transport configuration
126
- * @returns True if RTU config
127
- */
128
- isRTUConfig(config) {
129
- return 'port' in config && typeof config.port === 'string' && !('host' in config);
130
- }
131
- }
132
- //# sourceMappingURL=manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,OAAO,EAAE,eAAe,EAAwB,MAAM,cAAc,CAAA;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAsBrD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,gBAAgB;IAA7B;QACmB,eAAU,GAAG,IAAI,GAAG,EAA0B,CAAA;IAwHjE,CAAC;IAtHC;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,MAAuB;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAEtC,iDAAiD;QACjD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACtC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,gBAAgB,CAAA;YAC/B,CAAC;YAED,8CAA8C;YAC9C,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAA;YAClD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;YACzB,MAAM,gBAAgB,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;YAEhE,MAAM,QAAQ,GAAmB;gBAC/B,YAAY;gBACZ,gBAAgB;gBAChB,KAAK;gBACL,MAAM;gBACN,KAAK,EAAE,IAAI;aACZ,CAAA;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAClC,OAAO,gBAAgB,CAAA;QACzB,CAAC;QAED,iDAAiD;QACjD,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,gBAAgB,CAAA;QAC/B,CAAC;QAED,8CAA8C;QAC9C,yEAAyE;QACzE,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;QACzB,MAAM,gBAAgB,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;QAEhE,MAAM,QAAQ,GAAmB;YAC/B,YAAY;YACZ,gBAAgB;YAChB,KAAK;YACL,MAAM;YACN,KAAK,EAAE,KAAK;SACb,CAAA;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAElC,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;QACpD,OAAO;YACL,eAAe,EAAE,OAAO,CAAC,MAAM;YAC/B,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM;YACpD,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM;SACtD,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7E,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wDAAwD;gBACxD,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;YAClD,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAChC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CAAC,MAAuB;QAC9C,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,OAAO,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAA;QACvG,CAAC;QAED,2EAA2E;QAC3E,OAAO,OAAO,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;IACnD,CAAC;IAED;;;;;OAKG;IACK,WAAW,CAAC,MAAuB;QACzC,OAAO,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAA;IACnF,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutex-transport.d.ts","sourceRoot":"","sources":["../../src/mutex-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,SAAS;IAE5C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK;IAGzB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMrE,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMnE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM1D,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMnE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/D,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtE,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutex-transport.js","sourceRoot":"","sources":["../../src/mutex-transport.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAc;IACzB,YACmB,SAAoB,EACpB,KAAY;QADZ,cAAS,GAAT,SAAS,CAAW;QACpB,UAAK,GAAL,KAAK,CAAO;IAC5B,CAAC;IAEJ,KAAK,CAAC,oBAAoB,CAAC,OAAe,EAAE,KAAa;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,KAAa;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,KAAa;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,KAAa;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,KAAa;QACtD,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,KAAc;QACnD,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,OAAe,EAAE,MAAc;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,MAAc;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,4CAA4C;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IAC/B,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/retry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,WAAW,IAAI,CAAA;AAE5B,mDAAmD;AACnD,eAAO,MAAM,cAAc,MAAM,CAAA;AAYjC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;AAEjE;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,GAAE,MAAoB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAqBZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/retry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAA;AAE5B,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;AAEjC;;;;;GAKG;AACH,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAUD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAoB,EACpB,aAAqB,WAAW,EAChC,MAAoB;IAEpB,IAAI,SAAS,GAAU,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAE/D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAA;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAErE,kCAAkC;YAClC,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzB,8CAA8C;gBAC9C,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;gBAC5B,CAAC;gBACD,MAAM,KAAK,CAAC,cAAc,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAA;AACjB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rtu-transport.d.ts","sourceRoot":"","sources":["../../src/rtu-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAI9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,gBAAgB;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa;IACb,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CACjC;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAkB9E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rtu-transport.js","sourceRoot":"","sources":["../../src/rtu-transport.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,eAAe,CAAA;AAErC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AA2BpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAiB;IACxD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAA;IAE9B,yBAAyB;IACzB,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE;QAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAA;IAEF,eAAe;IACf,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE5B,cAAc;IACd,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAA;IAEzC,OAAO,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;AACxE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tcp-transport.d.ts","sourceRoot":"","sources":["../../src/tcp-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAIxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CACjC;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAa9E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tcp-transport.js","sourceRoot":"","sources":["../../src/tcp-transport.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,eAAe,CAAA;AAErC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAqBpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAiB;IACxD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAA;IAE9B,wBAAwB;IACxB,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAA;IAElE,eAAe;IACf,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE5B,cAAc;IACd,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAA;IAEzC,OAAO,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;AACxE,CAAC"}