@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.
- package/README.md +7 -6
- package/bin/mqtt.ts +1 -1
- package/client/client.ts +62 -7
- package/client/context.ts +2 -2
- package/client/deps.ts +3 -3
- package/client/mod.ts +2 -2
- package/connNext/baseConnNext.ts +123 -0
- package/connNext/connNext.ts +44 -0
- package/deno/README.md +1 -1
- package/deno/denoConnToNext.ts +104 -0
- package/deno/tcpClient.ts +8 -24
- package/deno/tcpServer.test.ts +14 -103
- package/deno/tcpServer.ts +14 -6
- package/deno/tlsServer.test.ts +14 -58
- package/deno/tlsServer.ts +14 -6
- package/deno/wsServer.test.ts +15 -61
- package/deno/wsServer.ts +82 -32
- package/dev_utils/WebStreamEndpoint.ts +5 -0
- package/dev_utils/asyncStreamEndpoint.ts +5 -0
- package/dev_utils/asyncStreamPair.ts +109 -0
- package/dev_utils/asyncStreamPairToNext.ts +45 -0
- package/dev_utils/asyncStreamToNext.ts +64 -0
- package/dev_utils/connNextPair.test.ts +179 -0
- package/dev_utils/mockConn.ts +59 -29
- package/dev_utils/mockServer.ts +3 -4
- package/dev_utils/mod.ts +1 -2
- package/dev_utils/testClient.ts +64 -0
- package/dev_utils/webStreamPair.ts +3 -7
- package/dev_utils/webStreamPairToNext.ts +48 -0
- package/dev_utils/webStreamToNext.ts +54 -0
- package/dist/bin/mqtt.js +1 -1
- package/dist/bin/mqtt.js.map +1 -1
- package/dist/client/client.d.ts +24 -3
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +45 -5
- package/dist/client/client.js.map +1 -1
- package/dist/client/context.d.ts +2 -2
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/deps.d.ts +1 -1
- package/dist/client/deps.d.ts.map +1 -1
- package/dist/client/mod.d.ts +1 -1
- package/dist/client/mod.d.ts.map +1 -1
- package/dist/connNext/baseConnNext.d.ts +20 -0
- package/dist/connNext/baseConnNext.d.ts.map +1 -0
- package/dist/connNext/baseConnNext.js +95 -0
- package/dist/connNext/baseConnNext.js.map +1 -0
- package/dist/connNext/connNext.d.ts +43 -0
- package/dist/connNext/connNext.d.ts.map +1 -0
- package/dist/connNext/connNext.js +2 -0
- package/dist/connNext/connNext.js.map +1 -0
- package/dist/examples/authHandler.test.js +2 -2
- package/dist/examples/authHandler.test.js.map +1 -1
- package/dist/examples/mqtt+mqtts.test.d.ts +2 -0
- package/dist/examples/mqtt+mqtts.test.d.ts.map +1 -0
- package/dist/examples/mqtt+mqtts.test.js +104 -0
- package/dist/examples/mqtt+mqtts.test.js.map +1 -0
- package/dist/examples/mqtt.test.js +2 -2
- package/dist/examples/mqtt.test.js.map +1 -1
- package/dist/examples/mqtts.test.js +2 -2
- package/dist/examples/mqtts.test.js.map +1 -1
- package/dist/mqttConn/mqttConn.d.ts +5 -6
- package/dist/mqttConn/mqttConn.d.ts.map +1 -1
- package/dist/mqttConn/mqttConn.js +2 -3
- package/dist/mqttConn/mqttConn.js.map +1 -1
- package/dist/node/nodeSocketToNext.d.ts +17 -0
- package/dist/node/nodeSocketToNext.d.ts.map +1 -0
- package/dist/node/nodeSocketToNext.js +105 -0
- package/dist/node/nodeSocketToNext.js.map +1 -0
- package/dist/node/tcpClient.d.ts +4 -6
- package/dist/node/tcpClient.d.ts.map +1 -1
- package/dist/node/tcpClient.js +6 -21
- package/dist/node/tcpClient.js.map +1 -1
- package/dist/node/tcpServer.d.ts +8 -4
- package/dist/node/tcpServer.d.ts.map +1 -1
- package/dist/node/tcpServer.js +14 -6
- package/dist/node/tcpServer.js.map +1 -1
- package/dist/node/tlsServer.d.ts +7 -3
- package/dist/node/tlsServer.d.ts.map +1 -1
- package/dist/node/tlsServer.js +13 -5
- package/dist/node/tlsServer.js.map +1 -1
- package/dist/server/context.d.ts +5 -5
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js +4 -1
- package/dist/server/context.js.map +1 -1
- package/dist/server/deps.d.ts +1 -1
- package/dist/server/deps.d.ts.map +1 -1
- package/dist/server/mod.d.ts +1 -1
- package/dist/server/mod.d.ts.map +1 -1
- package/dist/server/server.d.ts +3 -3
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +3 -3
- package/dist/utils/utils.d.ts +1 -2
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +3 -2
- package/dist/utils/utils.js.map +1 -1
- package/dist/web/webSocketToNext.d.ts +20 -0
- package/dist/web/webSocketToNext.d.ts.map +1 -0
- package/dist/web/webSocketToNext.js +125 -0
- package/dist/web/webSocketToNext.js.map +1 -0
- package/dist/web/wsClient.d.ts +3 -3
- package/dist/web/wsClient.d.ts.map +1 -1
- package/dist/web/wsClient.js +22 -7
- package/dist/web/wsClient.js.map +1 -1
- package/dist/web/wsClient.test.js +15 -0
- package/dist/web/wsClient.test.js.map +1 -1
- package/examples/README.md +21 -0
- package/examples/authHandler.test.ts +2 -2
- package/examples/mqtt+mqtts.test.ts +122 -0
- package/examples/mqtt.test.ts +2 -2
- package/examples/mqtts.test.ts +2 -2
- package/examples/webSocket.test.ts +10 -64
- package/examples/webSocketServer.ts +98 -0
- package/mqttConn/mqttConn.test.ts +6 -6
- package/mqttConn/mqttConn.ts +8 -9
- package/node/README.md +1 -1
- package/node/nodeSocketToNext.ts +124 -0
- package/node/tcpClient.ts +13 -27
- package/node/tcpServer.test.ts +12 -58
- package/node/tcpServer.ts +18 -8
- package/node/tlsServer.test.ts +11 -58
- package/node/tlsServer.ts +17 -7
- package/package.json +4 -3
- package/server/context.ts +9 -6
- package/server/deps.ts +1 -1
- package/server/mod.ts +1 -1
- package/server/server.ts +6 -6
- package/utils/utils.ts +3 -2
- package/web/webSocketToNext.ts +146 -0
- package/web/wsClient.test.ts +22 -0
- package/web/wsClient.ts +29 -9
- package/dev_utils/webStreamPair.test.ts +0 -171
- package/dist/node/wrapNodeSocket.d.ts +0 -12
- package/dist/node/wrapNodeSocket.d.ts.map +0 -1
- package/dist/node/wrapNodeSocket.js +0 -36
- package/dist/node/wrapNodeSocket.js.map +0 -1
- package/dist/socket/socket.d.ts +0 -58
- package/dist/socket/socket.d.ts.map +0 -1
- package/dist/socket/socket.js +0 -99
- package/dist/socket/socket.js.map +0 -1
- package/dist/web/webSocketStream.d.ts +0 -29
- package/dist/web/webSocketStream.d.ts.map +0 -1
- package/dist/web/webSocketStream.js +0 -69
- package/dist/web/webSocketStream.js.map +0 -1
- package/dist/web/wrapWebSocket.d.ts +0 -12
- package/dist/web/wrapWebSocket.d.ts.map +0 -1
- package/dist/web/wrapWebSocket.js +0 -41
- package/dist/web/wrapWebSocket.js.map +0 -1
- package/node/socket-node-stream.test.ts +0 -322
- package/node/socket-node-stream.ts +0 -174
- package/node/wrapNodeSocket.ts +0 -44
- package/socket/socket.test.ts +0 -91
- package/socket/socket.ts +0 -149
- package/web/webSocketStream.ts +0 -97
- package/web/wrapWebSocket.ts +0 -52
package/dist/client/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AuthenticationResult, ConnectPacket, ProtocolLevel, PublishPacket,
|
|
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
|
-
*
|
|
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<
|
|
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,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client/client.js
CHANGED
|
@@ -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
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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":"AAAA,OAAO,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,GACX,MAAM,WAAW,CAAC;AAYnB,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5D,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client/context.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Deferred, MqttConn, Timer } from "./deps.ts";
|
|
2
|
-
import type { AnyPacket, AuthenticationResult, ConnectPacket, PacketId, ProtocolLevel, PublishPacket, ReasonCode, ReturnCodes,
|
|
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:
|
|
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,
|
|
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"}
|
package/dist/client/deps.d.ts
CHANGED
|
@@ -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 {
|
|
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,
|
|
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"}
|
package/dist/client/mod.d.ts
CHANGED
|
@@ -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,
|
|
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
|
package/dist/client/mod.d.ts.map
CHANGED
|
@@ -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,
|
|
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 @@
|
|
|
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":"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"}
|
|
@@ -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
|