@seriousme/opifex 2.2.0 → 2.4.0

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 (154) hide show
  1. package/README.md +7 -6
  2. package/bin/mqtt.ts +1 -1
  3. package/client/client.ts +62 -7
  4. package/client/context.ts +2 -2
  5. package/client/deps.ts +3 -3
  6. package/client/mod.ts +2 -2
  7. package/connNext/baseConnNext.ts +123 -0
  8. package/connNext/connNext.ts +44 -0
  9. package/deno/README.md +1 -1
  10. package/deno/denoConnToNext.ts +104 -0
  11. package/deno/tcpClient.ts +8 -24
  12. package/deno/tcpServer.test.ts +14 -103
  13. package/deno/tcpServer.ts +14 -6
  14. package/deno/tlsServer.test.ts +14 -58
  15. package/deno/tlsServer.ts +14 -6
  16. package/deno/wsServer.test.ts +15 -61
  17. package/deno/wsServer.ts +82 -32
  18. package/dev_utils/WebStreamEndpoint.ts +5 -0
  19. package/dev_utils/asyncStreamEndpoint.ts +5 -0
  20. package/dev_utils/asyncStreamPair.ts +109 -0
  21. package/dev_utils/asyncStreamPairToNext.ts +45 -0
  22. package/dev_utils/asyncStreamToNext.ts +64 -0
  23. package/dev_utils/connNextPair.test.ts +179 -0
  24. package/dev_utils/mockConn.ts +59 -29
  25. package/dev_utils/mockServer.ts +3 -4
  26. package/dev_utils/mod.ts +1 -2
  27. package/dev_utils/testClient.ts +64 -0
  28. package/dev_utils/webStreamPair.ts +3 -7
  29. package/dev_utils/webStreamPairToNext.ts +48 -0
  30. package/dev_utils/webStreamToNext.ts +54 -0
  31. package/dist/bin/mqtt.js +1 -1
  32. package/dist/bin/mqtt.js.map +1 -1
  33. package/dist/client/client.d.ts +24 -3
  34. package/dist/client/client.d.ts.map +1 -1
  35. package/dist/client/client.js +45 -5
  36. package/dist/client/client.js.map +1 -1
  37. package/dist/client/context.d.ts +2 -2
  38. package/dist/client/context.d.ts.map +1 -1
  39. package/dist/client/deps.d.ts +1 -1
  40. package/dist/client/deps.d.ts.map +1 -1
  41. package/dist/client/mod.d.ts +1 -1
  42. package/dist/client/mod.d.ts.map +1 -1
  43. package/dist/connNext/baseConnNext.d.ts +20 -0
  44. package/dist/connNext/baseConnNext.d.ts.map +1 -0
  45. package/dist/connNext/baseConnNext.js +95 -0
  46. package/dist/connNext/baseConnNext.js.map +1 -0
  47. package/dist/connNext/connNext.d.ts +43 -0
  48. package/dist/connNext/connNext.d.ts.map +1 -0
  49. package/dist/connNext/connNext.js +2 -0
  50. package/dist/connNext/connNext.js.map +1 -0
  51. package/dist/examples/authHandler.test.js +2 -2
  52. package/dist/examples/authHandler.test.js.map +1 -1
  53. package/dist/examples/mqtt+mqtts.test.d.ts +2 -0
  54. package/dist/examples/mqtt+mqtts.test.d.ts.map +1 -0
  55. package/dist/examples/mqtt+mqtts.test.js +104 -0
  56. package/dist/examples/mqtt+mqtts.test.js.map +1 -0
  57. package/dist/examples/mqtt.test.js +2 -2
  58. package/dist/examples/mqtt.test.js.map +1 -1
  59. package/dist/examples/mqtts.test.js +2 -2
  60. package/dist/examples/mqtts.test.js.map +1 -1
  61. package/dist/mqttConn/mqttConn.d.ts +5 -6
  62. package/dist/mqttConn/mqttConn.d.ts.map +1 -1
  63. package/dist/mqttConn/mqttConn.js +2 -3
  64. package/dist/mqttConn/mqttConn.js.map +1 -1
  65. package/dist/node/nodeSocketToNext.d.ts +17 -0
  66. package/dist/node/nodeSocketToNext.d.ts.map +1 -0
  67. package/dist/node/nodeSocketToNext.js +105 -0
  68. package/dist/node/nodeSocketToNext.js.map +1 -0
  69. package/dist/node/tcpClient.d.ts +4 -6
  70. package/dist/node/tcpClient.d.ts.map +1 -1
  71. package/dist/node/tcpClient.js +6 -21
  72. package/dist/node/tcpClient.js.map +1 -1
  73. package/dist/node/tcpServer.d.ts +8 -4
  74. package/dist/node/tcpServer.d.ts.map +1 -1
  75. package/dist/node/tcpServer.js +14 -6
  76. package/dist/node/tcpServer.js.map +1 -1
  77. package/dist/node/tlsServer.d.ts +7 -3
  78. package/dist/node/tlsServer.d.ts.map +1 -1
  79. package/dist/node/tlsServer.js +13 -5
  80. package/dist/node/tlsServer.js.map +1 -1
  81. package/dist/server/context.d.ts +5 -5
  82. package/dist/server/context.d.ts.map +1 -1
  83. package/dist/server/context.js +4 -1
  84. package/dist/server/context.js.map +1 -1
  85. package/dist/server/deps.d.ts +1 -1
  86. package/dist/server/deps.d.ts.map +1 -1
  87. package/dist/server/mod.d.ts +1 -1
  88. package/dist/server/mod.d.ts.map +1 -1
  89. package/dist/server/server.d.ts +3 -3
  90. package/dist/server/server.d.ts.map +1 -1
  91. package/dist/server/server.js +3 -3
  92. package/dist/utils/utils.d.ts +1 -2
  93. package/dist/utils/utils.d.ts.map +1 -1
  94. package/dist/utils/utils.js +3 -2
  95. package/dist/utils/utils.js.map +1 -1
  96. package/dist/web/webSocketToNext.d.ts +20 -0
  97. package/dist/web/webSocketToNext.d.ts.map +1 -0
  98. package/dist/web/webSocketToNext.js +125 -0
  99. package/dist/web/webSocketToNext.js.map +1 -0
  100. package/dist/web/wsClient.d.ts +3 -3
  101. package/dist/web/wsClient.d.ts.map +1 -1
  102. package/dist/web/wsClient.js +22 -7
  103. package/dist/web/wsClient.js.map +1 -1
  104. package/dist/web/wsClient.test.js +15 -0
  105. package/dist/web/wsClient.test.js.map +1 -1
  106. package/examples/README.md +21 -0
  107. package/examples/authHandler.test.ts +2 -2
  108. package/examples/mqtt+mqtts.test.ts +122 -0
  109. package/examples/mqtt.test.ts +2 -2
  110. package/examples/mqtts.test.ts +2 -2
  111. package/examples/webSocket.test.ts +10 -64
  112. package/examples/webSocketServer.ts +98 -0
  113. package/mqttConn/mqttConn.test.ts +6 -6
  114. package/mqttConn/mqttConn.ts +8 -9
  115. package/node/README.md +1 -1
  116. package/node/nodeSocketToNext.ts +124 -0
  117. package/node/tcpClient.ts +13 -27
  118. package/node/tcpServer.test.ts +12 -58
  119. package/node/tcpServer.ts +18 -8
  120. package/node/tlsServer.test.ts +11 -58
  121. package/node/tlsServer.ts +17 -7
  122. package/package.json +4 -3
  123. package/server/context.ts +9 -6
  124. package/server/deps.ts +1 -1
  125. package/server/mod.ts +1 -1
  126. package/server/server.ts +6 -6
  127. package/utils/utils.ts +3 -2
  128. package/web/webSocketToNext.ts +146 -0
  129. package/web/wsClient.test.ts +22 -0
  130. package/web/wsClient.ts +29 -9
  131. package/dev_utils/webStreamPair.test.ts +0 -171
  132. package/dist/node/wrapNodeSocket.d.ts +0 -12
  133. package/dist/node/wrapNodeSocket.d.ts.map +0 -1
  134. package/dist/node/wrapNodeSocket.js +0 -36
  135. package/dist/node/wrapNodeSocket.js.map +0 -1
  136. package/dist/socket/socket.d.ts +0 -58
  137. package/dist/socket/socket.d.ts.map +0 -1
  138. package/dist/socket/socket.js +0 -99
  139. package/dist/socket/socket.js.map +0 -1
  140. package/dist/web/webSocketStream.d.ts +0 -29
  141. package/dist/web/webSocketStream.d.ts.map +0 -1
  142. package/dist/web/webSocketStream.js +0 -69
  143. package/dist/web/webSocketStream.js.map +0 -1
  144. package/dist/web/wrapWebSocket.d.ts +0 -12
  145. package/dist/web/wrapWebSocket.d.ts.map +0 -1
  146. package/dist/web/wrapWebSocket.js +0 -41
  147. package/dist/web/wrapWebSocket.js.map +0 -1
  148. package/node/socket-node-stream.test.ts +0 -322
  149. package/node/socket-node-stream.ts +0 -174
  150. package/node/wrapNodeSocket.ts +0 -44
  151. package/socket/socket.test.ts +0 -91
  152. package/socket/socket.ts +0 -149
  153. package/web/webSocketStream.ts +0 -97
  154. package/web/wrapWebSocket.ts +0 -52
@@ -1,4 +1,4 @@
1
- import type { AuthenticationResult, ConnectPacket, ProtocolLevel, PublishPacket, SockConn, Store, SubscribePacket } from "./deps.ts";
1
+ import type { AuthenticationResult, ConnectPacket, ConnNext, ProtocolLevel, PublishPacket, Store, SubscribePacket } from "./deps.ts";
2
2
  import type { AuthenticatedResult } from "./context.ts";
3
3
  import type { ConnectionState } from "./ConnectionState.ts";
4
4
  /** All properties of a connect packet, except for type and protocol name */
@@ -15,6 +15,8 @@ export type ConnectParameters = {
15
15
  key?: string | undefined;
16
16
  /** number of retries before stopping connection attempts */
17
17
  numberOfRetries?: number | undefined;
18
+ /** maximum size of receive buffer, only used by webSockets for now */
19
+ maxBufferSize?: number | undefined;
18
20
  /** connect options */
19
21
  options?: ConnectOptions | undefined;
20
22
  };
@@ -70,6 +72,8 @@ export declare class Client {
70
72
  protected key?: string | undefined;
71
73
  /** the MQTT clientId */
72
74
  protected clientId: string;
75
+ /** the maximum number of bytes buffered by a ws/wss client */
76
+ protected maxBufferSize: number | undefined;
73
77
  private ctx;
74
78
  private connectPacket?;
75
79
  /**
@@ -86,11 +90,28 @@ export declare class Client {
86
90
  * @returns URL object
87
91
  */
88
92
  get url(): URL;
93
+ /**
94
+ * Placeholder for MQTT, override in subclass
95
+ * @param _hostname
96
+ * @param _port
97
+ */
98
+ protected connectMQTT(_hostname: string, _port: number): Promise<ConnNext>;
99
+ /**
100
+ * Connect using MQTT over TLS
101
+ * @param hostname the name of the host to connect to
102
+ * @param port the port number
103
+ * @param caCerts the CA certificates to trust
104
+ * @param cert the clients certificate
105
+ * @param key the clients private key
106
+ * @returns a ConnNext object
107
+ */
108
+ protected connectMQTTS(_hostname: string, _port: number, _caCerts?: string[], _cert?: string, _key?: string): Promise<ConnNext>;
89
109
  /**
90
110
  * Creates a new connection to the MQTT broker
91
- * @returns Promise resolving to a SockConn connection
111
+ * Override this in a subclass if you need other protocols
112
+ * @returns Promise resolving to a ConnNext connection
92
113
  */
93
- protected createConn(): Promise<SockConn>;
114
+ protected createConn(): Promise<ConnNext>;
94
115
  /**
95
116
  * Handles the connection process including retries and reconnection
96
117
  * @returns Promise that resolves when connection is established or fails
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,aAAa,EACb,QAAQ,EACR,KAAK,EACL,eAAe,EAChB,MAAM,WAAW,CAAC;AAKnB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAY5D,4EAA4E;AAC5E,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,aAAa,EACb,MAAM,GAAG,cAAc,CACxB,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,4BAA4B;IAC5B,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;IACtB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,sBAAsB;IACtB,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,aAAa,EACb,MAAM,GAAG,IAAI,GAAG,eAAe,CAChC,CAAC;AACF,6DAA6D;AAC7D,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,eAAe,EACf,MAAM,GAAG,IAAI,GAAG,eAAe,CAChC,CAAC;AAqBF,yCAAyC;AACzC,eAAO,MAAM,WAAW,2BAA2B,CAAC;AACpD,gDAAgD;AAChD,eAAO,MAAM,qBAAqB,EAAmB,aAAa,CAAC;AACnE,iCAAiC;AACjC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAkBpC;;;;;;;;GAQG;AACH,qBAAa,MAAM;IACjB,0EAA0E;IACnE,MAAM,EAAE,CACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,UAAU,KACjB,mBAAmB,CAKtB;IACF,0BAA0B;IACnB,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAQ;IAC5C,mCAAmC;IAC5B,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAQ;IACrE,8BAA8B;IACvB,WAAW,EAAE,MAAM,IAAI,CAAQ;IACtC,iCAAiC;IAC1B,cAAc,EAAE,MAAM,IAAI,CAAQ;IACzC,iCAAiC;IAC1B,cAAc,EAAE,MAAM,IAAI,CAAQ;IAEzC,qEAAqE;IACrE,SAAS,CAAC,cAAc,SAAmB;IAC3C,uCAAuC;IACvC,SAAS,CAAC,eAAe,SAAmB;IAC5C,4BAA4B;IAC5B,SAAS,CAAC,UAAU,EAAE,GAAG,CAAwB;IACjD,+CAA+C;IAC/C,SAAS,CAAC,SAAS,SAAqB;IACxC,mCAAmC;IACnC,SAAS,CAAC,aAAa,gBAAyB;IAChD,+CAA+C;IAC/C,SAAS,CAAC,aAAa,UAAQ;IAC/B,4BAA4B;IAC5B,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACzC,8BAA8B;IAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,6BAA6B;IAC7B,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,wBAAwB;IACxB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC;;OAEG;IACH,YAAY,KAAK,CAAC,EAAE,KAAK,EAKxB;IAED;;;OAGG;IACH,IAAW,eAAe,IAAI,eAAe,CAE5C;IAED;;;OAGG;IACH,IAAW,GAAG,IAAI,GAAG,CAEpB;IAED;;;OAGG;IACH,SAAS,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,CAIxC;IAED;;;OAGG;YACW,SAAS;IA+CvB;;;;OAIG;IACH,OAAO,CAAC,MAAM,GAAE,iBAAsB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAsBrE;IAED;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhC;IAED;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOtD;IAED;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1D;IAED;;;OAGG;IACH,QAAQ,IAAI,aAAa,CAAC,aAAa,CAAC,CAIvC;CACF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,8 @@ export class Client {
92
92
  key;
93
93
  /** the MQTT clientId */
94
94
  clientId;
95
+ /** the maximum number of bytes buffered by a ws/wss client */
96
+ maxBufferSize;
95
97
  ctx;
96
98
  connectPacket;
97
99
  /**
@@ -101,7 +103,6 @@ export class Client {
101
103
  const cStore = store ? store : new MemoryStore();
102
104
  this.ctx = new Context(cStore, this);
103
105
  this.clientId = generateClientId(this.clientIdPrefix);
104
- this.numberOfRetries = DEFAULT_RETRIES;
105
106
  }
106
107
  /**
107
108
  * Current connection state
@@ -117,14 +118,46 @@ export class Client {
117
118
  get url() {
118
119
  return this.connectUrl;
119
120
  }
121
+ /**
122
+ * Placeholder for MQTT, override in subclass
123
+ * @param _hostname
124
+ * @param _port
125
+ */
126
+ connectMQTT(_hostname, _port) {
127
+ throw new Error(`Unsupported protocol: mqtt`);
128
+ }
129
+ /**
130
+ * Connect using MQTT over TLS
131
+ * @param hostname the name of the host to connect to
132
+ * @param port the port number
133
+ * @param caCerts the CA certificates to trust
134
+ * @param cert the clients certificate
135
+ * @param key the clients private key
136
+ * @returns a ConnNext object
137
+ */
138
+ connectMQTTS(_hostname, _port, _caCerts, _cert, _key) {
139
+ throw new Error(`Unsupported protocol: mqtts`);
140
+ }
120
141
  /**
121
142
  * Creates a new connection to the MQTT broker
122
- * @returns Promise resolving to a SockConn connection
143
+ * Override this in a subclass if you need other protocols
144
+ * @returns Promise resolving to a ConnNext connection
123
145
  */
124
146
  createConn() {
125
147
  // if you need to support alternative connection types just
126
148
  // overload this method in your subclass
127
- throw new Error(`Unsupported protocol: ${this.url.protocol}`);
149
+ const { protocol, hostname, port: portStr } = this.connectUrl;
150
+ const port = Number(portStr);
151
+ const caCerts = this.caCerts;
152
+ const cert = this.cert;
153
+ const key = this.key;
154
+ if (protocol === "mqtts:") {
155
+ return this.connectMQTTS(hostname, port, caCerts, cert, key);
156
+ }
157
+ if (protocol === "mqtt:") {
158
+ return this.connectMQTT(hostname, port);
159
+ }
160
+ throw new Error(`Unsupported protocol: ${protocol}`);
128
161
  }
129
162
  /**
130
163
  * Handles the connection process including retries and reconnection
@@ -157,7 +190,13 @@ export class Client {
157
190
  lastMessage = normalizedErr;
158
191
  logger.debug({ lastMessage });
159
192
  }
160
- if (tryConnect && (isReconnect || attempt < this.numberOfRetries)) {
193
+ logger.debug("tryConnect", {
194
+ tryConnect,
195
+ isReconnect,
196
+ attempt,
197
+ retries: this.numberOfRetries,
198
+ });
199
+ if (tryConnect && (isReconnect || (attempt < this.numberOfRetries))) {
161
200
  await backOffSleep(true, attempt);
162
201
  if (!isReconnect) {
163
202
  attempt++;
@@ -179,10 +218,11 @@ export class Client {
179
218
  */
180
219
  connect(params = {}) {
181
220
  this.connectUrl = params?.url || this.connectUrl;
182
- this.numberOfRetries = params.numberOfRetries || this.numberOfRetries;
221
+ this.numberOfRetries = params.numberOfRetries ?? this.numberOfRetries;
183
222
  this.caCerts = params?.caCerts;
184
223
  this.cert = params?.cert;
185
224
  this.key = params?.key;
225
+ this.maxBufferSize = params?.maxBufferSize;
186
226
  const options = Object.assign({
187
227
  keepAlive: this.keepAlive,
188
228
  clientId: this.clientId,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Deferred, MqttConn, Timer } from "./deps.ts";
2
- import type { AnyPacket, AuthenticationResult, ConnectPacket, PacketId, ProtocolLevel, PublishPacket, ReasonCode, ReturnCodes, SockConn, Store, SubscribePacket, UnsubscribePacket } from "./deps.ts";
2
+ import type { AnyPacket, AuthenticationResult, ConnectPacket, ConnNext, PacketId, ProtocolLevel, PublishPacket, ReasonCode, ReturnCodes, Store, SubscribePacket, UnsubscribePacket } from "./deps.ts";
3
3
  import { ConnectionState } from "./ConnectionState.ts";
4
4
  import type { Client } from "./client.ts";
5
5
  /** Possible results from authHandler */
@@ -27,7 +27,7 @@ export declare class Context {
27
27
  disconnect(): Promise<void>;
28
28
  send(packet: AnyPacket): Promise<void>;
29
29
  sendPing(): void;
30
- handleConnection(conn: SockConn, connectPacket: ConnectPacket): Promise<boolean>;
30
+ handleConnection(conn: ConnNext, connectPacket: ConnectPacket): Promise<boolean>;
31
31
  close(): void;
32
32
  receivePublish(packet: PublishPacket): Promise<void>;
33
33
  publish(packet: PublishPacket): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../client/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,QAAQ,EAGR,KAAK,EACN,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,aAAa,EACb,aAAa,EACb,UAAU,EACV,WAAW,EACX,QAAQ,EACR,KAAK,EACL,eAAe,EACf,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAc1C,wCAAwC;AACxC,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,qBAAa,OAAO;;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,iBAAiB,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACnD,iBAAiB,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,mBAAmB,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1D,qBAAqB,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,KAAK,EAAE,KAAK,CAAC;IAGb,YAAY,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAQvC;IAED,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,IAAI,eAAe,CAAC,KAAK,EAAE,eAAe,EAUzC;IAED,WAAW,CACT,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,UAAU,GACnB,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEpD;IAED,YAAY,CAAC,QAAQ,EAAE,MAAM,QAS5B;IAEK,OAAO,CAAC,MAAM,EAAE,aAAa,iBAWlC;IAEK,UAAU,kBAgBf;IAEK,IAAI,CAAC,MAAM,EAAE,SAAS,iBA2B3B;IAED,QAAQ,SAKP;IAEK,gBAAgB,CACpB,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,OAAO,CAAC,CA0BlB;IAED,KAAK,SAIJ;IAEK,cAAc,CAAC,MAAM,EAAE,aAAa,iBAEzC;IAEK,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAalD;IAEK,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAO7D;IAEK,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1D;IAED,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CASnC;IAGD,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAEpC;IAED,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAS7D;IAED,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CASrC;CACF"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../client/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,QAAQ,EAGR,KAAK,EACN,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,aAAa,EACb,UAAU,EACV,WAAW,EACX,KAAK,EACL,eAAe,EACf,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAc1C,wCAAwC;AACxC,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,qBAAa,OAAO;;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,iBAAiB,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACnD,iBAAiB,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,mBAAmB,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1D,qBAAqB,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,KAAK,EAAE,KAAK,CAAC;IAGb,YAAY,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAQvC;IAED,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,IAAI,eAAe,CAAC,KAAK,EAAE,eAAe,EAUzC;IAED,WAAW,CACT,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,UAAU,GACnB,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEpD;IAED,YAAY,CAAC,QAAQ,EAAE,MAAM,QAS5B;IAEK,OAAO,CAAC,MAAM,EAAE,aAAa,iBAWlC;IAEK,UAAU,kBAgBf;IAEK,IAAI,CAAC,MAAM,EAAE,SAAS,iBA2B3B;IAED,QAAQ,SAKP;IAEK,gBAAgB,CACpB,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,OAAO,CAAC,CA0BlB;IAED,KAAK,SAIJ;IAEK,cAAc,CAAC,MAAM,EAAE,aAAa,iBAEzC;IAEK,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAalD;IAEK,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAO7D;IAEK,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1D;IAED,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CASnC;IAGD,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAEpC;IAED,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAS7D;IAED,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CASrC;CACF"}
@@ -1,7 +1,7 @@
1
1
  export type { AnyPacket, AuthPacket, ConnackPacket, ConnectPacket, DisconnectPacket, Dup, PacketId, Payload, ProtocolLevel, PubackPacket, PubcompPacket, PublishPacket, PubrecPacket, PubrelPacket, QoS, ReturnCodes, SubackPacket, SubscribePacket, Topic, UnsubackPacket, UnsubscribePacket, } from "../mqttPacket/mod.ts";
2
2
  export { AuthenticationResult, AuthenticationResultByNumber, decodePayload, encode, MQTTLevel, PacketNameByType, PacketType, ReasonCode, ReasonCodeByNumber, } from "../mqttPacket/mod.ts";
3
3
  export { MqttConn } from "../mqttConn/mqttConn.ts";
4
- export type { NetAddr, SockAddr, SockConn, UnixAddr, VsockAddr, } from "../socket/socket.ts";
4
+ export type { ConnAddr, ConnNext, NetAddr, UnixAddr, VsockAddr, } from "../connNext/connNext.ts";
5
5
  export { Timer } from "../timer/timer.ts";
6
6
  export { BufferedAsyncIterable, Deferred, logger } from "../utils/mod.ts";
7
7
  export { MemoryStore } from "./store/memoryStore.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../client/deps.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,GAAG,EACH,QAAQ,EACR,OAAO,EACP,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,GAAG,EACH,WAAW,EACX,YAAY,EACZ,eAAe,EACf,KAAK,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,aAAa,EACb,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,YAAY,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../client/deps.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,GAAG,EACH,QAAQ,EACR,OAAO,EACP,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,GAAG,EACH,WAAW,EACX,YAAY,EACZ,eAAe,EACf,KAAK,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,aAAa,EACb,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,GACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  export { Client, DEFAULT_KEEPALIVE, DEFAULT_PROTOCOLLEVEL, DEFAULT_URL, } from "./client.ts";
6
6
  export { logger, MQTTLevel, ReasonCode } from "./deps.ts";
7
- export type { AuthenticationResult, NetAddr, ProtocolLevel, QoS, SockAddr, SockConn, UnixAddr, VsockAddr, } from "./deps.ts";
7
+ export type { AuthenticationResult, ConnAddr, ConnNext, NetAddr, ProtocolLevel, QoS, UnixAddr, VsockAddr, } from "./deps.ts";
8
8
  export type { ConnectParameters, PublishParameters, SubscribeParameters, } from "./client.ts";
9
9
  export type { ConnectionState } from "./ConnectionState.ts";
10
10
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../client/mod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC1D,YAAY,EACV,oBAAoB,EACpB,OAAO,EACP,aAAa,EACb,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../client/mod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC1D,YAAY,EACV,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,GAAG,EACH,QAAQ,EACR,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { ConnAddr, ConnNext } from "../connNext/connNext.ts";
2
+ export declare abstract class BaseConnNext implements ConnNext {
3
+ abstract remoteAddr?: ConnAddr;
4
+ abstract localAddr?: ConnAddr;
5
+ protected chunks: Uint8Array[];
6
+ protected queueOffset: number;
7
+ protected closed: boolean;
8
+ private isPulling;
9
+ abstract write(data: Uint8Array): Promise<void>;
10
+ abstract close(): void;
11
+ /** Specifiek per bron: haal pas daadwerkelijk 1 chunk op als de basisklasse erom vraagt */
12
+ protected abstract pullNextChunk(): Promise<Uint8Array | null>;
13
+ isClosed(): boolean;
14
+ protected getBufferedBytes(): number;
15
+ /** Zorgt ervoor dat we data ophalen op exact het moment dat het nodig is */
16
+ private ensureData;
17
+ read(length?: number): Promise<Uint8Array | null>;
18
+ [Symbol.asyncIterator](): AsyncGenerator<Uint8Array<ArrayBufferLike>, void, unknown>;
19
+ }
20
+ //# sourceMappingURL=baseConnNext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseConnNext.d.ts","sourceRoot":"","sources":["../../connNext/baseConnNext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAElE,8BAAsB,YAAa,YAAW,QAAQ;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;IAE9B,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,CAAM;IACpC,SAAS,CAAC,WAAW,SAAK;IAC1B,SAAS,CAAC,MAAM,UAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAE1B,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;IAEvB,2FAA2F;IAC3F,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAE/D,QAAQ,IAAI,OAAO,CAElB;IAED,SAAS,CAAC,gBAAgB,IAAI,MAAM,CAQnC;IAED,4EAA4E;YAC9D,UAAU;IA4BlB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAqDtD;IAEM,CAAC,MAAM,CAAC,aAAa,CAAC,+DAM5B;CACF"}
@@ -0,0 +1,95 @@
1
+ export class BaseConnNext {
2
+ chunks = [];
3
+ queueOffset = 0;
4
+ closed = false;
5
+ isPulling = false;
6
+ isClosed() {
7
+ return this.closed;
8
+ }
9
+ getBufferedBytes() {
10
+ let total = 0;
11
+ for (let i = 0; i < this.chunks.length; i++) {
12
+ total += i === 0
13
+ ? this.chunks[i].byteLength - this.queueOffset
14
+ : this.chunks[i].byteLength;
15
+ }
16
+ return total;
17
+ }
18
+ /** Zorgt ervoor dat we data ophalen op exact het moment dat het nodig is */
19
+ async ensureData(length) {
20
+ while (!this.closed &&
21
+ (this.getBufferedBytes() === 0 ||
22
+ (length !== undefined && this.getBufferedBytes() < length))) {
23
+ if (this.isPulling) {
24
+ // Voorkom gelijktijdige pulls als er al eentje loopt
25
+ await new Promise((resolve) => setTimeout(resolve, 5));
26
+ continue;
27
+ }
28
+ this.isPulling = true;
29
+ try {
30
+ const chunk = await this.pullNextChunk();
31
+ if (chunk === null || chunk.byteLength === 0) {
32
+ this.closed = true;
33
+ break;
34
+ }
35
+ this.chunks.push(chunk);
36
+ }
37
+ catch {
38
+ this.closed = true;
39
+ }
40
+ finally {
41
+ this.isPulling = false;
42
+ }
43
+ }
44
+ }
45
+ async read(length) {
46
+ if (this.closed && this.getBufferedBytes() === 0) {
47
+ return null;
48
+ }
49
+ if (length === 0) {
50
+ return new Uint8Array(0);
51
+ }
52
+ // Pull exact zolang tot we genoeg data hebben voor deze read()
53
+ await this.ensureData(length);
54
+ if (this.getBufferedBytes() === 0) {
55
+ return null;
56
+ }
57
+ // Onbegrensd lezen (geen lengte opgegeven)
58
+ if (length === undefined) {
59
+ const firstChunk = this.chunks.shift();
60
+ const result = firstChunk.subarray(this.queueOffset);
61
+ this.queueOffset = 0;
62
+ return result;
63
+ }
64
+ // Exacte lengte uitlezen uit de buffer
65
+ const bytesToTake = Math.min(length, this.getBufferedBytes());
66
+ const result = new Uint8Array(bytesToTake);
67
+ let bytesCopied = 0;
68
+ while (bytesCopied < bytesToTake && this.chunks.length > 0) {
69
+ const currentChunk = this.chunks[0];
70
+ const bytesNeeded = bytesToTake - bytesCopied;
71
+ const bytesAvailable = currentChunk.byteLength - this.queueOffset;
72
+ if (bytesAvailable <= bytesNeeded) {
73
+ result.set(currentChunk.subarray(this.queueOffset), bytesCopied);
74
+ bytesCopied += bytesAvailable;
75
+ this.chunks.shift();
76
+ this.queueOffset = 0;
77
+ }
78
+ else {
79
+ result.set(currentChunk.subarray(this.queueOffset, this.queueOffset + bytesNeeded), bytesCopied);
80
+ bytesCopied += bytesNeeded;
81
+ this.queueOffset += bytesNeeded;
82
+ }
83
+ }
84
+ return bytesCopied === 0 ? null : result;
85
+ }
86
+ async *[Symbol.asyncIterator]() {
87
+ while (true) {
88
+ const chunk = await this.read();
89
+ if (chunk === null)
90
+ break;
91
+ yield chunk;
92
+ }
93
+ }
94
+ }
95
+ //# sourceMappingURL=baseConnNext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseConnNext.js","sourceRoot":"","sources":["../../connNext/baseConnNext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /** Net addresses */
2
+ export type NetAddr = {
3
+ /** the IP-based transport protocol */
4
+ transport: "tcp" | "udp";
5
+ /** the hostname */
6
+ hostname: string;
7
+ /** the port number */
8
+ port: number;
9
+ };
10
+ /** Unix addresses */
11
+ export type UnixAddr = {
12
+ /** the Unix domain socket transport protocol */
13
+ transport: "unix" | "unixpacket";
14
+ /** the file system path to the socket to connect to */
15
+ path: string;
16
+ };
17
+ /** vSock addresses */
18
+ export type VsockAddr = {
19
+ /** the VSOCK transport protocol */
20
+ transport: "vsock";
21
+ /** the context identifier (CID) of the peer */
22
+ cid: number;
23
+ /** the port number */
24
+ port: number;
25
+ };
26
+ /** connection addresses */
27
+ export type ConnAddr = NetAddr | UnixAddr | VsockAddr | undefined;
28
+ /** connection descriptor. */
29
+ export type ConnNext = {
30
+ /** the "nextStream" to read from */
31
+ read(length?: number): Promise<Uint8Array | null>;
32
+ /** the "nextStream" to write to */
33
+ write(data: Uint8Array): Promise<void>;
34
+ /** close the connection */
35
+ close(): void;
36
+ /** Async Iterator for streaming per chunck */
37
+ [Symbol.asyncIterator](): AsyncIterableIterator<Uint8Array>;
38
+ /** The local address of the connection */
39
+ localAddr?: ConnAddr;
40
+ /** The remote address of the connection */
41
+ remoteAddr?: ConnAddr;
42
+ };
43
+ //# sourceMappingURL=connNext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connNext.d.ts","sourceRoot":"","sources":["../../connNext/connNext.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,MAAM,MAAM,OAAO,GAAG;IACpB,sCAAsC;IACtC,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,qBAAqB;AACrB,MAAM,MAAM,QAAQ,GAAG;IACrB,gDAAgD;IAChD,SAAS,EAAE,MAAM,GAAG,YAAY,CAAC;IACjC,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,sBAAsB;AACtB,MAAM,MAAM,SAAS,GAAG;IACtB,mCAAmC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,2BAA2B;AAC3B,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAClE,6BAA6B;AAE7B,MAAM,MAAM,QAAQ,GAAG;IACrB,oCAAoC;IACpC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAClD,mCAAmC;IACnC,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,2BAA2B;IAC3B,KAAK,IAAI,IAAI,CAAC;IACd,8CAA8C;IAC9C,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC5D,0CAA0C;IAC1C,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=connNext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connNext.js","sourceRoot":"","sources":["../../connNext/connNext.ts"],"names":[],"mappings":""}
@@ -78,7 +78,7 @@ test("Test MQTTv5 Auth using TCP client and server", async function () {
78
78
  const client = new TcpClient();
79
79
  client.onAuth = clientProcessAuth;
80
80
  await client.connect(params);
81
- logger.info("Client connected to server at", client.url);
81
+ logger.info("Client connected to server at", client.url.toString());
82
82
  const publishSet = [
83
83
  { topic: "t0@q0", qos: 0 },
84
84
  { topic: "t1@q0", qos: 0 },
@@ -118,6 +118,6 @@ test("Test MQTTv5 Auth using TCP client and server", async function () {
118
118
  assert(found, `${item.topic} -- ${item.qos}`);
119
119
  }
120
120
  logger.info("Stop server");
121
- server.stop();
121
+ await server.stop();
122
122
  });
123
123
  //# sourceMappingURL=authHandler.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authHandler.test.js","sourceRoot":"","sources":["../../examples/authHandler.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authHandler.test.js","sourceRoot":"","sources":["../../examples/authHandler.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,uEAAuE;AACvE,OAAO,EACL,SAAS,EACT,UAAU,IAAI,eAAe,GAC9B,MAAM,0BAA0B,CAAC;AAIlC,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC;AACrC,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC;AAErC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5B,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAClD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AACpD,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAClD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAEpD,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAEjD,SAAS,iBAAiB,CACxB,IAAa,EACb,SAAiB,EACjB,UAAkB,EAClB,QAAoB;IAEpB,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO;YACL,UAAU,EAAE,UAAU,CAAC,uBAAuB;SAC/C,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,cAAc,KAAK,kBAAkB,EAAE,CAAC;QAC1C,OAAO;YACL,UAAU,EAAE,UAAU,CAAC,sBAAsB;YAC7C,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,KAAK,mBAAmB,EAAE,CAAC;QAC3C,OAAO;YACL,UAAU,EAAE,UAAU,CAAC,OAAO;YAC9B,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC;SACjD,CAAC;IACJ,CAAC;IACD,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,aAAa;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,UAAkB,EAClB,QAAoB;IAEpB,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAC9D,IACE,UAAU,KAAK,iBAAiB;QAChC,CACE,cAAc,KAAK,kBAAkB;YACrC,cAAc,KAAK,mBAAmB,CACvC,EACD,CAAC;QACD,OAAO;YACL,UAAU,EAAE,eAAe,CAAC,uBAAuB;YACnD,YAAY,EAAE,4BAA4B;SAC3C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,UAAU,EAAE,eAAe,CAAC,sBAAsB;QAClD,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAChD,YAAY,EAAE,UAAU;KACzB,CAAC;AACJ,CAAC;AAED,IAAI,CAAC,8CAA8C,EAAE,KAAK;IACxD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;QACxC,QAAQ,EAAE;YACR,WAAW,EAAE,iBAAiB;SAC/B;KACF,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,CAAC,eAAe,CACpB,MAAM,CAAC,IAAI,KAAK,SAAS,EACzB,IAAI,EACJ,6BAA6B,CAC9B,CAAC;IACF,MAAM,CAAC,IAAI,CACT,+BAA+B,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,OAAO,EAAE,CACzE,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,GAAG,EAAE,IAAI,GAAG,CAAC,UAAU,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACvD,eAAe,EAAE,CAAC;QAClB,OAAO,EAAE;YACP,aAAa,EAAE,SAAS,CAAC,EAAE;YAC3B,UAAU,EAAE;gBACV,oBAAoB,EAAE,iBAAiB;gBACvC,kBAAkB,EAAE,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC;aAC1D;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC;IAClC,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAkC;QAChD,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QAC1B,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KAC3B,CAAC;IAEF,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9C,WAAW,EAAE,IAAI,CAAC,KAAK;QACvB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,CAAC,SAAS,CAAC;QACrB,aAAa;KACd,CAAC,CAAC;IAEH,sDAAsD;IACtD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,CAAC,KAAK;QACJ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,cAAc;IACd,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,MAAM,CAAC,OAAO,CAAC;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACjC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAE1B,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAC5C,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mqtt+mqtts.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mqtt+mqtts.test.d.ts","sourceRoot":"","sources":["../../examples/mqtt+mqtts.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,104 @@
1
+ import { test } from "node:test";
2
+ import assert from "node:assert/strict";
3
+ import { TcpClient } from "@seriousme/opifex/tcpClient";
4
+ import { TlsServer } from "@seriousme/opifex/tlsServer";
5
+ import { MqttServer } from "@seriousme/opifex/server";
6
+ import { delay, logger, LogLevel } from "@seriousme/opifex/utils";
7
+ import { generateLocalhostCerts } from "../dev_utils/generateCert.js";
8
+ import { TcpServer } from "@seriousme/opifex/tcpServer";
9
+ logger.level(LogLevel.info);
10
+ test("Test pubSub using TLS client and a TCP client", async function () {
11
+ // the localhost certs generate here are great for testing but lack securiity
12
+ // use something like LetsEncrypt for any serious server
13
+ // generateLocalhostCerts is a dev tool and relies on node-forge as a (dev)dependency
14
+ const { key, cert, caCert } = generateLocalhostCerts();
15
+ // first create the mqttServer, so we can pass it to multiple protocol servers
16
+ const mqttServer = new MqttServer({});
17
+ const tlsServer = new TlsServer({ port: 0, key, cert }, mqttServer);
18
+ const tcpServer = new TcpServer({ port: 0 }, mqttServer);
19
+ // .start() combines instance creation and async initialization
20
+ tlsServer.start();
21
+ tcpServer.start();
22
+ logger.info(`TLS server running on port: ${tlsServer.port}, address: ${tlsServer.address}`);
23
+ logger.info(`TCP server running on port: ${tcpServer.port}, address: ${tcpServer.address}`);
24
+ // pick the correct hostname
25
+ const tlsHostname = tlsServer.address === "0.0.0.0"
26
+ ? "127.0.0.1"
27
+ : tlsServer.address;
28
+ const tcpHostname = tcpServer.address === "0.0.0.0"
29
+ ? "127.0.0.1"
30
+ : tcpServer.address;
31
+ const tlsParams = {
32
+ url: new URL(`mqtts://${tlsHostname}:${tlsServer.port}`),
33
+ clientId: "I am a TLS client",
34
+ numberOfRetries: 0,
35
+ // since we signed our server cert ourselves we need to add the caCert
36
+ // this is not required if you use a public Certificate Authority
37
+ caCerts: [caCert],
38
+ };
39
+ const tcpParams = {
40
+ url: new URL(`mqtt://${tcpHostname}:${tcpServer.port}`),
41
+ clientId: "I am a TCP client",
42
+ numberOfRetries: 0,
43
+ };
44
+ const tlsClient = new TcpClient(); // TcpClient can also handle TLS
45
+ const tcpClient = new TcpClient();
46
+ await tlsClient.connect(tlsParams);
47
+ await tcpClient.connect(tcpParams);
48
+ logger.info("tlsClient connected to server at", tlsClient.url.toString());
49
+ logger.info("tcpClient connected to server at", tcpClient.url.toString());
50
+ const publishSet = [
51
+ { topic: "t0@q0", qos: 0 },
52
+ { topic: "t1@q0", qos: 0 },
53
+ { topic: "t2@q0", qos: 0 },
54
+ { topic: "t0@q1", qos: 1 },
55
+ { topic: "t1@q1", qos: 1 },
56
+ { topic: "t2@q1", qos: 1 },
57
+ { topic: "t0@q2", qos: 2 },
58
+ { topic: "t1@q2", qos: 2 },
59
+ { topic: "t2@q2", qos: 2 },
60
+ ];
61
+ const subscriptions = publishSet.map((item) => ({
62
+ topicFilter: item.topic,
63
+ qos: item.qos,
64
+ }));
65
+ await tcpClient.subscribe({
66
+ subscriptions,
67
+ });
68
+ // the IIFE ensures message reception runs in parallel
69
+ logger.info("TCP client Start receiving");
70
+ const received = [];
71
+ (async function () {
72
+ for await (const item of tcpClient.messages()) {
73
+ logger.verbose("Receiving:", item.topic, "--", item.qos);
74
+ received.push(item);
75
+ }
76
+ })();
77
+ // end of IIFE
78
+ logger.info("TLS client Start publishing");
79
+ for (const item of publishSet) {
80
+ logger.verbose("Publishing:", item.topic, "--", item.qos);
81
+ await tlsClient.publish({
82
+ topic: item.topic,
83
+ qos: item.qos,
84
+ payload: new Uint8Array([0x01]),
85
+ });
86
+ }
87
+ await delay(100);
88
+ logger.info("Disconnect TLS client");
89
+ await tlsClient.disconnect();
90
+ logger.info("Disconnect TCP client");
91
+ await tcpClient.disconnect();
92
+ logger.info("Check completeness");
93
+ for (const item of publishSet) {
94
+ const found = received.find((f) => f.topic == item.topic && f.qos === item.qos);
95
+ logger.verbose("Found:", item.topic, "--", item.qos);
96
+ assert(found, `${item.topic} -- ${item.qos}`);
97
+ }
98
+ // just for demo, you can keep the MQTT server alive on the TCP server wile the TLSserver closes
99
+ logger.info("Stop TLS server");
100
+ await tlsServer.stop();
101
+ logger.info("Stop TCP server");
102
+ await tcpServer.stop();
103
+ });
104
+ //# sourceMappingURL=mqtt+mqtts.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mqtt+mqtts.test.js","sourceRoot":"","sources":["../../examples/mqtt+mqtts.test.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ test("Test pubSub using TCP client and server using memoryPersistence", async fu
18
18
  };
19
19
  const client = new TcpClient();
20
20
  await client.connect(params);
21
- logger.info("Client connected to server at", client.url);
21
+ logger.info("Client connected to server at", client.url.toString());
22
22
  const publishSet = [
23
23
  { topic: "t0@q0", qos: 0 },
24
24
  { topic: "t1@q0", qos: 0 },
@@ -65,6 +65,6 @@ test("Test pubSub using TCP client and server using memoryPersistence", async fu
65
65
  assert(found, `${item.topic} -- ${item.qos}`);
66
66
  }
67
67
  logger.info("Stop server");
68
- server.stop();
68
+ await server.stop();
69
69
  });
70
70
  //# sourceMappingURL=mqtt.test.js.map