@seriousme/opifex 1.11.1 → 1.11.3
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/LICENSE.txt +1 -1
- package/README.md +8 -8
- package/benchmarks/receiver.ts +35 -0
- package/benchmarks/sender.ts +32 -0
- package/benchmarks/utils.ts +8 -31
- package/bin/mqtt.ts +52 -30
- package/client/client.ts +9 -9
- package/client/deps.ts +1 -0
- package/client/mod.ts +1 -1
- package/dev_utils/mod.ts +1 -0
- package/dev_utils/socketPair.ts +85 -0
- package/dist/bin/mqtt.js +19 -16
- package/dist/bin/mqtt.js.map +1 -1
- package/dist/client/client.d.ts +6 -6
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js.map +1 -1
- package/dist/client/deps.d.ts +1 -1
- package/dist/client/deps.d.ts.map +1 -1
- package/dist/client/deps.js.map +1 -1
- package/dist/client/mod.d.ts +1 -1
- package/dist/client/mod.d.ts.map +1 -1
- package/dist/mqttConn/mqttConn.d.ts +2 -1
- package/dist/mqttConn/mqttConn.d.ts.map +1 -1
- package/dist/mqttConn/mqttConn.js +16 -8
- package/dist/mqttConn/mqttConn.js.map +1 -1
- package/dist/mqttPacket/BitMask.d.ts +12 -11
- package/dist/mqttPacket/BitMask.d.ts.map +1 -1
- package/dist/mqttPacket/BitMask.js +10 -18
- package/dist/mqttPacket/BitMask.js.map +1 -1
- package/dist/mqttPacket/connect.d.ts +22 -22
- package/dist/mqttPacket/connect.d.ts.map +1 -1
- package/dist/mqttPacket/decoder.js +1 -1
- package/dist/mqttPacket/decoder.js.map +1 -1
- package/dist/mqttPacket/length.js +1 -1
- package/dist/mqttPacket/length.js.map +1 -1
- package/dist/mqttPacket/mod.js +1 -1
- package/dist/mqttPacket/mod.js.map +1 -1
- package/dist/mqttPacket/pubblishAcks.d.ts +5 -5
- package/dist/mqttPacket/pubblishAcks.d.ts.map +1 -1
- package/dist/mqttPacket/pubblishAcks.js.map +1 -1
- package/dist/mqttPacket/publish.d.ts +9 -9
- package/dist/mqttPacket/publish.d.ts.map +1 -1
- package/dist/persistence/memory/memoryPersistence.d.ts +3 -3
- package/dist/persistence/memory/memoryPersistence.d.ts.map +1 -1
- package/dist/persistence/memory/memoryPersistence.js +1 -1
- package/dist/persistence/memory/memoryPersistence.js.map +1 -1
- package/dist/persistence/mod.d.ts +1 -1
- package/dist/persistence/mod.d.ts.map +1 -1
- package/dist/persistence/mod.js.map +1 -1
- package/dist/persistence/store.d.ts +3 -2
- package/dist/persistence/store.d.ts.map +1 -1
- package/dist/server/context.d.ts +1 -1
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js.map +1 -1
- package/dist/server/handlers/handlePublish.d.ts.map +1 -1
- package/dist/server/handlers/handlePublish.js +17 -2
- package/dist/server/handlers/handlePublish.js.map +1 -1
- package/dist/server/handlers/handlePubrel.d.ts.map +1 -1
- package/dist/server/handlers/handlePubrel.js +6 -10
- package/dist/server/handlers/handlePubrel.js.map +1 -1
- package/dist/socket/socket.d.ts.map +1 -1
- package/dist/socket/socket.js +4 -0
- package/dist/socket/socket.js.map +1 -1
- package/dist/trie/trie.d.ts.map +1 -1
- package/dist/trie/trie.js +30 -20
- package/dist/trie/trie.js.map +1 -1
- package/dist/utils/BufferedAsyncIterable.js.map +1 -1
- package/mqttConn/mqttConn.ts +18 -8
- package/mqttPacket/BitMask.ts +11 -19
- package/mqttPacket/connect.ts +22 -22
- package/mqttPacket/decoder.ts +1 -1
- package/mqttPacket/length.ts +1 -1
- package/mqttPacket/mod.ts +1 -1
- package/mqttPacket/pubblishAcks.ts +16 -11
- package/mqttPacket/publish.ts +9 -9
- package/package.json +3 -3
- package/persistence/memory/memoryPersistence.ts +4 -3
- package/persistence/mod.ts +6 -1
- package/persistence/store.ts +3 -2
- package/server/context.ts +1 -1
- package/server/handlers/handlePublish.ts +18 -2
- package/server/handlers/handlePubrel.ts +6 -10
- package/server/test/handleConnect.test.ts +13 -21
- package/socket/socket.ts +3 -0
- package/trie/trie.ts +29 -19
- package/utils/BufferedAsyncIterable.ts +1 -1
- package/benchmarks/bombing.ts +0 -35
- package/benchmarks/throughputCounter.ts +0 -31
package/LICENSE.txt
CHANGED
package/README.md
CHANGED
|
@@ -13,11 +13,11 @@ built in modules.
|
|
|
13
13
|
|
|
14
14
|
The following MQTT versions are supported:
|
|
15
15
|
|
|
16
|
-
| | MQTT 3.1 (v3) | MQTT 3.
|
|
17
|
-
| -------------- | ------------- |
|
|
18
|
-
| Packet/encoder | ✅ | ✅
|
|
19
|
-
| Client | ✅ | ✅
|
|
20
|
-
| Server | ❌ | ✅
|
|
16
|
+
| | MQTT 3.1 (v3) | MQTT 3.1.1 (v4) | MQTT 5.0 (v5) |
|
|
17
|
+
| -------------- | ------------- | --------------- | ------------- |
|
|
18
|
+
| Packet/encoder | ✅ | ✅ | ✅ |
|
|
19
|
+
| Client | ✅ | ✅ | ✅ partially |
|
|
20
|
+
| Server | ❌ | ✅ | ❌ |
|
|
21
21
|
|
|
22
22
|
Client and server currently only have memory based persistence, but one can
|
|
23
23
|
provide its own persistence. (see [Architecture](#architecture))
|
|
@@ -76,11 +76,11 @@ A more elaborate example including client and server can be found in the
|
|
|
76
76
|
|
|
77
77
|
3. On top of mqttConn live the MQTT server ([server/mod.ts](server/mod.ts)) and
|
|
78
78
|
MQTT client ([client/mod.ts](client/mod.ts)) that take care of the MQTT
|
|
79
|
-
protocol handling like requiring an authentication to be
|
|
79
|
+
protocol handling like requiring an authentication to be successful before
|
|
80
80
|
another type of packet will be accepted. Both follow a similar model of
|
|
81
81
|
implementation where for each packet that is received a handler is invoked
|
|
82
|
-
which then triggers the next step. Server and client are totally
|
|
83
|
-
the technical implementation of the connection and only need a socketConn
|
|
82
|
+
which then triggers the next step. Server and client are totally independent
|
|
83
|
+
of the technical implementation of the connection and only need a socketConn
|
|
84
84
|
([socket](socket)) to be able to work.
|
|
85
85
|
|
|
86
86
|
4. As the server needs to be able to serve multiple clients at the same time, it
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { exit } from "node:process";
|
|
2
|
+
import { importClientClass } from "./utils.ts";
|
|
3
|
+
|
|
4
|
+
const { TcpClient } = await importClientClass();
|
|
5
|
+
const client = new TcpClient();
|
|
6
|
+
client.onError = (err) => {
|
|
7
|
+
console.log("client error", err);
|
|
8
|
+
exit(1);
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
await client.connect({
|
|
12
|
+
url: new URL("mqtt://localhost:1883"),
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
await client.subscribe({ subscriptions: [{ topicFilter: "test", qos: 0 }] });
|
|
16
|
+
|
|
17
|
+
let counter = 0;
|
|
18
|
+
const interval = 5000;
|
|
19
|
+
|
|
20
|
+
function count() {
|
|
21
|
+
console.log("received/s", (counter / interval) * 1000);
|
|
22
|
+
counter = 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
setInterval(count, interval);
|
|
26
|
+
|
|
27
|
+
// // Consume using a callback
|
|
28
|
+
// client.onPacket = async (packet) => {
|
|
29
|
+
// counter++;
|
|
30
|
+
// };
|
|
31
|
+
|
|
32
|
+
// Consume using an AsyncIterator
|
|
33
|
+
for await (const _ of client.messages()) {
|
|
34
|
+
counter++;
|
|
35
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { exit } from "node:process";
|
|
2
|
+
import { runAsap } from "../dev_utils/timers.ts";
|
|
3
|
+
import { importClientClass } from "./utils.ts";
|
|
4
|
+
|
|
5
|
+
const { TcpClient } = await importClientClass();
|
|
6
|
+
const client = new TcpClient();
|
|
7
|
+
client.onError = (err) => {
|
|
8
|
+
console.log("client error", err);
|
|
9
|
+
exit(1);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
await client.connect({
|
|
13
|
+
url: new URL("mqtt://localhost:1883"),
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
const payload = new TextEncoder().encode("payload");
|
|
17
|
+
let sent = 0;
|
|
18
|
+
const interval = 5000;
|
|
19
|
+
|
|
20
|
+
const loop = () => {
|
|
21
|
+
sent++;
|
|
22
|
+
client.publish({ topic: "test", payload })
|
|
23
|
+
.then(() => runAsap(loop));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
function count() {
|
|
27
|
+
console.log("sent/s", (sent / interval) * 1000);
|
|
28
|
+
sent = 0;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
setInterval(count, interval);
|
|
32
|
+
loop();
|
package/benchmarks/utils.ts
CHANGED
|
@@ -1,32 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
// @ts-ignore: the Deno global variable is not defined in @types/node,
|
|
8
|
-
// therefore we need to ignore this error because this file
|
|
9
|
-
// is meant to be used in both environments.
|
|
10
|
-
const isDeno = typeof Deno !== "undefined";
|
|
11
|
-
|
|
12
|
-
// @ts-ignore: the Deno global variable is not defined in @types/node,
|
|
13
|
-
// therefore we need to ignore this error because this file
|
|
14
|
-
// is meant to be used in both environments.
|
|
15
|
-
// deno-lint-ignore no-process-global
|
|
16
|
-
const exit = isDeno ? Deno.exit : process.exit;
|
|
17
|
-
|
|
18
|
-
const importClientClass = async (): Promise<ClientClass> => {
|
|
1
|
+
export async function importClientClass() {
|
|
2
|
+
// @ts-ignore: the Deno global variable is not defined in @types/node,
|
|
3
|
+
// therefore we need to ignore this error because this file
|
|
4
|
+
// is meant to be used in both environments.
|
|
5
|
+
const isDeno = typeof Deno !== "undefined";
|
|
19
6
|
return isDeno
|
|
20
|
-
? (await import("../deno/tcpClient.ts"))
|
|
21
|
-
: (await import("../node/tcpClient.ts"))
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export const loader = async (main: Main) => {
|
|
25
|
-
const TcpClient = await importClientClass();
|
|
26
|
-
try {
|
|
27
|
-
await main(TcpClient);
|
|
28
|
-
} catch (err) {
|
|
29
|
-
console.error(err);
|
|
30
|
-
exit(1);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
7
|
+
? (await import("../deno/tcpClient.ts"))
|
|
8
|
+
: (await import("../node/tcpClient.ts"));
|
|
9
|
+
}
|
package/bin/mqtt.ts
CHANGED
|
@@ -37,16 +37,26 @@ import {
|
|
|
37
37
|
DEFAULT_PROTOCOLLEVEL,
|
|
38
38
|
DEFAULT_URL,
|
|
39
39
|
} from "../client/mod.ts";
|
|
40
|
-
import type { ProtocolLevel } from "../client/mod.ts";
|
|
40
|
+
import type { ProtocolLevel, QoS } from "../client/mod.ts";
|
|
41
41
|
import { getFileData, TcpClient } from "../node/tcpClient.ts";
|
|
42
42
|
import { logger, LogLevel } from "../utils/mod.ts";
|
|
43
43
|
|
|
44
|
-
type Args = Record<string, string | boolean>;
|
|
45
44
|
const client = new TcpClient();
|
|
46
45
|
const encoder = new TextEncoder();
|
|
47
46
|
const decoder = new TextDecoder();
|
|
48
47
|
logger.level(LogLevel.info);
|
|
49
48
|
|
|
49
|
+
// --- TypeScript Utility Types to Derive Args Natively ---
|
|
50
|
+
type MapOptType<T> = T extends { type: "string" } ? string | undefined
|
|
51
|
+
: T extends { type: "boolean" } ? boolean
|
|
52
|
+
: never;
|
|
53
|
+
|
|
54
|
+
type ParsedArgsFromOpts<
|
|
55
|
+
T extends Record<string, { type: "string" | "boolean" }>,
|
|
56
|
+
> = {
|
|
57
|
+
[K in keyof T]: MapOptType<T[K]>;
|
|
58
|
+
};
|
|
59
|
+
|
|
50
60
|
const MQTTHelp = `MQTT command line interface, available commands are:
|
|
51
61
|
|
|
52
62
|
* publish publish a message to the broker
|
|
@@ -94,7 +104,9 @@ const connectOpts = {
|
|
|
94
104
|
help: { type: "boolean", short: "h", default: false },
|
|
95
105
|
} as const;
|
|
96
106
|
|
|
97
|
-
|
|
107
|
+
type ConnectArgs = ParsedArgsFromOpts<typeof connectOpts>;
|
|
108
|
+
|
|
109
|
+
async function connect(connectArgs: ConnectArgs) {
|
|
98
110
|
const {
|
|
99
111
|
caCerts,
|
|
100
112
|
cert,
|
|
@@ -111,25 +123,24 @@ async function connect(connectArgs: Args) {
|
|
|
111
123
|
clientId: connectArgs.clientId as string,
|
|
112
124
|
clean: !connectArgs.noClean,
|
|
113
125
|
keepAlive: Number(connectArgs.keepAlive),
|
|
114
|
-
protocolLevel:
|
|
115
|
-
connectArgs.mqttVersion as string,
|
|
116
|
-
) as ProtocolLevel,
|
|
126
|
+
protocolLevel: parseProtocolLevel(connectArgs.mqttVersion),
|
|
117
127
|
},
|
|
118
128
|
});
|
|
119
129
|
logger.debug("Connected !");
|
|
120
130
|
}
|
|
121
131
|
|
|
122
|
-
function
|
|
132
|
+
function parseProtocolLevel(mqttVersion: string | undefined): ProtocolLevel {
|
|
133
|
+
const result = parseInt(mqttVersion ?? "");
|
|
134
|
+
if (result >= 3 && result <= 5) {
|
|
135
|
+
return result as ProtocolLevel;
|
|
136
|
+
}
|
|
137
|
+
return DEFAULT_PROTOCOLLEVEL;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
function parseQos(qosArg: string | number | undefined): QoS {
|
|
123
141
|
const qos = Number(qosArg);
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
return 0;
|
|
127
|
-
case 1:
|
|
128
|
-
return 1;
|
|
129
|
-
case 2:
|
|
130
|
-
return 2;
|
|
131
|
-
default:
|
|
132
|
-
break;
|
|
142
|
+
if (qos === 0 || qos === 1 || qos === 2) {
|
|
143
|
+
return qos;
|
|
133
144
|
}
|
|
134
145
|
console.log("QoS must be between 0 and 2");
|
|
135
146
|
return 0;
|
|
@@ -142,14 +153,17 @@ function safeParseArgs(config: ParseArgsConfig) {
|
|
|
142
153
|
if (err instanceof Error) {
|
|
143
154
|
console.error(err.message);
|
|
144
155
|
}
|
|
156
|
+
return undefined;
|
|
145
157
|
}
|
|
146
158
|
}
|
|
147
159
|
|
|
148
|
-
async function getTLSdata(connectArgs:
|
|
149
|
-
const caFileData =
|
|
160
|
+
async function getTLSdata(connectArgs: Partial<ConnectArgs>) {
|
|
161
|
+
const caFileData = connectArgs.caFile
|
|
162
|
+
? await getFileData(connectArgs.caFile)
|
|
163
|
+
: undefined;
|
|
150
164
|
const caCerts = caFileData ? [caFileData] : undefined;
|
|
151
|
-
const cert = await getFileData(connectArgs.certFile
|
|
152
|
-
const key = await getFileData(connectArgs.keyFile
|
|
165
|
+
const cert = await getFileData(connectArgs.certFile);
|
|
166
|
+
const key = await getFileData(connectArgs.keyFile);
|
|
153
167
|
return {
|
|
154
168
|
caCerts,
|
|
155
169
|
cert,
|
|
@@ -177,13 +191,18 @@ const subscribeOpts = {
|
|
|
177
191
|
qos: { type: "string", short: "q", default: "0" },
|
|
178
192
|
} as const;
|
|
179
193
|
|
|
194
|
+
type SubscribeArgs = ParsedArgsFromOpts<
|
|
195
|
+
typeof connectOpts & typeof subscribeOpts
|
|
196
|
+
>;
|
|
197
|
+
|
|
180
198
|
async function subscribe() {
|
|
181
199
|
const res = safeParseArgs({
|
|
182
200
|
options: { ...connectOpts, ...subscribeOpts },
|
|
183
201
|
allowPositionals: true,
|
|
184
202
|
});
|
|
185
203
|
if (!res) return;
|
|
186
|
-
|
|
204
|
+
|
|
205
|
+
const subscribeArgs = res.values as unknown as SubscribeArgs;
|
|
187
206
|
if (subscribeArgs.help) {
|
|
188
207
|
console.log(SubscribeHelp);
|
|
189
208
|
return;
|
|
@@ -198,7 +217,7 @@ async function subscribe() {
|
|
|
198
217
|
subscriptions: [
|
|
199
218
|
{
|
|
200
219
|
topicFilter: subscribeArgs.topic,
|
|
201
|
-
qos: parseQos(subscribeArgs.qos
|
|
220
|
+
qos: parseQos(subscribeArgs.qos),
|
|
202
221
|
},
|
|
203
222
|
],
|
|
204
223
|
});
|
|
@@ -209,8 +228,8 @@ async function subscribe() {
|
|
|
209
228
|
}
|
|
210
229
|
} catch (err) {
|
|
211
230
|
if (err instanceof Error) {
|
|
212
|
-
|
|
213
|
-
logger.info(`Error: ${
|
|
231
|
+
const errorWithCode = err as Error & { code?: string };
|
|
232
|
+
logger.info(`Error: ${errorWithCode.message || errorWithCode.code}`);
|
|
214
233
|
}
|
|
215
234
|
}
|
|
216
235
|
}
|
|
@@ -232,13 +251,16 @@ const publishOpts = {
|
|
|
232
251
|
retain: { type: "boolean", short: "r", default: false },
|
|
233
252
|
} as const;
|
|
234
253
|
|
|
254
|
+
type PublishArgs = ParsedArgsFromOpts<typeof connectOpts & typeof publishOpts>;
|
|
255
|
+
|
|
235
256
|
async function publish() {
|
|
236
257
|
const res = safeParseArgs({
|
|
237
258
|
options: { ...connectOpts, ...publishOpts },
|
|
238
259
|
allowPositionals: true,
|
|
239
260
|
});
|
|
240
261
|
if (!res) return;
|
|
241
|
-
|
|
262
|
+
|
|
263
|
+
const publishArgs = res.values as unknown as PublishArgs;
|
|
242
264
|
if (publishArgs.help) {
|
|
243
265
|
console.log(PublishHelp);
|
|
244
266
|
return;
|
|
@@ -251,17 +273,17 @@ async function publish() {
|
|
|
251
273
|
await connect(publishArgs);
|
|
252
274
|
await client.publish({
|
|
253
275
|
topic: publishArgs.topic,
|
|
254
|
-
payload: encoder.encode(publishArgs.message
|
|
255
|
-
retain: publishArgs.retain
|
|
256
|
-
qos: parseQos(publishArgs.qos
|
|
276
|
+
payload: encoder.encode(publishArgs.message ?? ""),
|
|
277
|
+
retain: publishArgs.retain,
|
|
278
|
+
qos: parseQos(publishArgs.qos),
|
|
257
279
|
});
|
|
258
280
|
logger.debug("Published!");
|
|
259
281
|
client.disconnect();
|
|
260
282
|
logger.debug("Disconnected !");
|
|
261
283
|
} catch (err) {
|
|
262
284
|
if (err instanceof Error) {
|
|
263
|
-
|
|
264
|
-
logger.info(`Error: ${
|
|
285
|
+
const errorWithCode = err as Error & { code?: string };
|
|
286
|
+
logger.info(`Error: ${errorWithCode.message || errorWithCode.code}`);
|
|
265
287
|
}
|
|
266
288
|
}
|
|
267
289
|
}
|
package/client/client.ts
CHANGED
|
@@ -37,12 +37,12 @@ type ConnectOptions = Omit<
|
|
|
37
37
|
|
|
38
38
|
/** ConnectParameters define how to connect */
|
|
39
39
|
export type ConnectParameters = {
|
|
40
|
-
url?: URL;
|
|
41
|
-
caCerts?: string[];
|
|
42
|
-
cert?: string;
|
|
43
|
-
key?: string;
|
|
44
|
-
numberOfRetries?: number;
|
|
45
|
-
options?: ConnectOptions;
|
|
40
|
+
url?: URL | undefined;
|
|
41
|
+
caCerts?: string[] | undefined;
|
|
42
|
+
cert?: string | undefined;
|
|
43
|
+
key?: string | undefined;
|
|
44
|
+
numberOfRetries?: number | undefined;
|
|
45
|
+
options?: ConnectOptions | undefined;
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
/** PublishParameters define how a message should be published */
|
|
@@ -106,9 +106,9 @@ export class Client {
|
|
|
106
106
|
protected keepAlive = DEFAULT_KEEPALIVE;
|
|
107
107
|
protected protocolLevel = DEFAULT_PROTOCOLLEVEL;
|
|
108
108
|
protected autoReconnect = true;
|
|
109
|
-
private caCerts?: string[];
|
|
110
|
-
private cert?: string;
|
|
111
|
-
private key?: string;
|
|
109
|
+
private caCerts?: string[] | undefined;
|
|
110
|
+
private cert?: string | undefined;
|
|
111
|
+
private key?: string | undefined;
|
|
112
112
|
private clientId: string;
|
|
113
113
|
private ctx: Context;
|
|
114
114
|
private connectPacket?: ConnectPacket;
|
package/client/deps.ts
CHANGED
package/client/mod.ts
CHANGED
package/dev_utils/mod.ts
CHANGED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// web-socketpair.ts
|
|
2
|
+
|
|
3
|
+
export interface WebSocketEndpoint {
|
|
4
|
+
readable: ReadableStream<Uint8Array>;
|
|
5
|
+
writable: WritableStream<Uint8Array>;
|
|
6
|
+
close: () => void;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Create two interconnected endpoints.
|
|
11
|
+
* Writing to input.writable is readable from output.readable and vice versa.
|
|
12
|
+
*/
|
|
13
|
+
export function createWebSocketPair(): {
|
|
14
|
+
input: WebSocketEndpoint;
|
|
15
|
+
output: WebSocketEndpoint;
|
|
16
|
+
} {
|
|
17
|
+
// Controllers are captured in start() so we can enqueue from the opposite side.
|
|
18
|
+
let aController: ReadableByteStreamController;
|
|
19
|
+
let bController: ReadableByteStreamController;
|
|
20
|
+
|
|
21
|
+
const endpointAReadable = new ReadableStream<Uint8Array>({
|
|
22
|
+
type: "bytes",
|
|
23
|
+
start(controller) {
|
|
24
|
+
aController = controller as ReadableByteStreamController;
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
const endpointBReadable = new ReadableStream<Uint8Array>({
|
|
29
|
+
type: "bytes",
|
|
30
|
+
start(controller) {
|
|
31
|
+
bController = controller as ReadableByteStreamController;
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
const endpointAWritable = new WritableStream<Uint8Array>({
|
|
36
|
+
write(chunk) {
|
|
37
|
+
// Data written by A becomes readable by B
|
|
38
|
+
if (chunk.byteLength > 0) {
|
|
39
|
+
bController.enqueue(chunk);
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
close() {
|
|
43
|
+
bController.close();
|
|
44
|
+
},
|
|
45
|
+
abort(reason) {
|
|
46
|
+
bController.error(reason);
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
const endpointBWritable = new WritableStream<Uint8Array>({
|
|
51
|
+
write(chunk) {
|
|
52
|
+
// Data written by B becomes readable by A
|
|
53
|
+
if (chunk.byteLength > 0) {
|
|
54
|
+
aController.enqueue(chunk);
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
close() {
|
|
58
|
+
aController.close();
|
|
59
|
+
},
|
|
60
|
+
abort(reason) {
|
|
61
|
+
aController.error(reason);
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
return {
|
|
66
|
+
input: {
|
|
67
|
+
readable: endpointAReadable,
|
|
68
|
+
writable: endpointAWritable,
|
|
69
|
+
close: () => {
|
|
70
|
+
if (!endpointAWritable.locked) {
|
|
71
|
+
endpointAWritable.abort();
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
output: {
|
|
76
|
+
readable: endpointBReadable,
|
|
77
|
+
writable: endpointBWritable,
|
|
78
|
+
close: () => {
|
|
79
|
+
if (!endpointBWritable.locked) {
|
|
80
|
+
endpointBWritable.abort();
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
package/dist/bin/mqtt.js
CHANGED
|
@@ -93,22 +93,22 @@ async function connect(connectArgs) {
|
|
|
93
93
|
clientId: connectArgs.clientId,
|
|
94
94
|
clean: !connectArgs.noClean,
|
|
95
95
|
keepAlive: Number(connectArgs.keepAlive),
|
|
96
|
-
protocolLevel:
|
|
96
|
+
protocolLevel: parseProtocolLevel(connectArgs.mqttVersion),
|
|
97
97
|
},
|
|
98
98
|
});
|
|
99
99
|
logger.debug("Connected !");
|
|
100
100
|
}
|
|
101
|
+
function parseProtocolLevel(mqttVersion) {
|
|
102
|
+
const result = parseInt(mqttVersion ?? "");
|
|
103
|
+
if (result >= 3 && result <= 5) {
|
|
104
|
+
return result;
|
|
105
|
+
}
|
|
106
|
+
return DEFAULT_PROTOCOLLEVEL;
|
|
107
|
+
}
|
|
101
108
|
function parseQos(qosArg) {
|
|
102
109
|
const qos = Number(qosArg);
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return 0;
|
|
106
|
-
case 1:
|
|
107
|
-
return 1;
|
|
108
|
-
case 2:
|
|
109
|
-
return 2;
|
|
110
|
-
default:
|
|
111
|
-
break;
|
|
110
|
+
if (qos === 0 || qos === 1 || qos === 2) {
|
|
111
|
+
return qos;
|
|
112
112
|
}
|
|
113
113
|
console.log("QoS must be between 0 and 2");
|
|
114
114
|
return 0;
|
|
@@ -121,10 +121,13 @@ function safeParseArgs(config) {
|
|
|
121
121
|
if (err instanceof Error) {
|
|
122
122
|
console.error(err.message);
|
|
123
123
|
}
|
|
124
|
+
return undefined;
|
|
124
125
|
}
|
|
125
126
|
}
|
|
126
127
|
async function getTLSdata(connectArgs) {
|
|
127
|
-
const caFileData =
|
|
128
|
+
const caFileData = connectArgs.caFile
|
|
129
|
+
? await getFileData(connectArgs.caFile)
|
|
130
|
+
: undefined;
|
|
128
131
|
const caCerts = caFileData ? [caFileData] : undefined;
|
|
129
132
|
const cert = await getFileData(connectArgs.certFile);
|
|
130
133
|
const key = await getFileData(connectArgs.keyFile);
|
|
@@ -184,8 +187,8 @@ async function subscribe() {
|
|
|
184
187
|
}
|
|
185
188
|
catch (err) {
|
|
186
189
|
if (err instanceof Error) {
|
|
187
|
-
|
|
188
|
-
logger.info(`Error: ${
|
|
190
|
+
const errorWithCode = err;
|
|
191
|
+
logger.info(`Error: ${errorWithCode.message || errorWithCode.code}`);
|
|
189
192
|
}
|
|
190
193
|
}
|
|
191
194
|
}
|
|
@@ -224,7 +227,7 @@ async function publish() {
|
|
|
224
227
|
await connect(publishArgs);
|
|
225
228
|
await client.publish({
|
|
226
229
|
topic: publishArgs.topic,
|
|
227
|
-
payload: encoder.encode(publishArgs.message),
|
|
230
|
+
payload: encoder.encode(publishArgs.message ?? ""),
|
|
228
231
|
retain: publishArgs.retain,
|
|
229
232
|
qos: parseQos(publishArgs.qos),
|
|
230
233
|
});
|
|
@@ -234,8 +237,8 @@ async function publish() {
|
|
|
234
237
|
}
|
|
235
238
|
catch (err) {
|
|
236
239
|
if (err instanceof Error) {
|
|
237
|
-
|
|
238
|
-
logger.info(`Error: ${
|
|
240
|
+
const errorWithCode = err;
|
|
241
|
+
logger.info(`Error: ${errorWithCode.message || errorWithCode.code}`);
|
|
239
242
|
}
|
|
240
243
|
}
|
|
241
244
|
}
|
package/dist/bin/mqtt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../bin/mqtt.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../bin/mqtt.ts"],"names":[],"mappings":"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"}
|
package/dist/client/client.d.ts
CHANGED
|
@@ -3,12 +3,12 @@ import type { TConnectionState } from "./ConnectionState.ts";
|
|
|
3
3
|
type ConnectOptions = Omit<ConnectPacket, "type" | "protocolName">;
|
|
4
4
|
/** ConnectParameters define how to connect */
|
|
5
5
|
export type ConnectParameters = {
|
|
6
|
-
url?: URL;
|
|
7
|
-
caCerts?: string[];
|
|
8
|
-
cert?: string;
|
|
9
|
-
key?: string;
|
|
10
|
-
numberOfRetries?: number;
|
|
11
|
-
options?: ConnectOptions;
|
|
6
|
+
url?: URL | undefined;
|
|
7
|
+
caCerts?: string[] | undefined;
|
|
8
|
+
cert?: string | undefined;
|
|
9
|
+
key?: string | undefined;
|
|
10
|
+
numberOfRetries?: number | undefined;
|
|
11
|
+
options?: ConnectOptions | undefined;
|
|
12
12
|
};
|
|
13
13
|
/** PublishParameters define how a message should be published */
|
|
14
14
|
export type PublishParameters = Omit<PublishPacket, "type" | "id" | "protocolLevel">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,eAAe,EACf,qBAAqB,EACtB,MAAM,WAAW,CAAC;AAKnB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAa7D,KAAK,cAAc,GAAG,IAAI,CACxB,aAAa,EACb,MAAM,GAAG,cAAc,CACxB,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,CAAC,EAAE,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,GACX,MAAM,WAAW,CAAC;AAUnB,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,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;AA4BD;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,MAAe,EAAE,OAAe;IACpD,MAAM,MAAM,GAAG,GAAG,CAAC;IACnB,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,GAAG,CAAC,CACtD,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,yCAAyC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AACpD,gDAAgD;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC,EAAE,CAAC;AAClD,iCAAiC;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC,CAAC,aAAa;AAClD,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC,mBAAmB;AAC9C,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,mBAAmB;AAErD;;;;;;;;GAQG;AACH,MAAM,OAAO,MAAM;IACV,OAAO,GAAyB,IAAI,CAAC;IACrC,QAAQ,GAAiD,IAAI,CAAC;IAC9D,WAAW,GAAe,IAAI,CAAC;IAC/B,cAAc,GAAe,IAAI,CAAC;IAClC,cAAc,GAAe,IAAI,CAAC;IAE/B,cAAc,GAAG,eAAe,CAAC;IACjC,eAAe,GAAG,eAAe,CAAC;IAClC,GAAG,GAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAChC,SAAS,GAAG,iBAAiB,CAAC;IAC9B,aAAa,GAAG,qBAAqB,CAAC;IACtC,aAAa,GAAG,IAAI,CAAC;IACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client/deps.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { AnyPacket, ConnackPacket, ConnectPacket, DisconnectPacket, Dup, PacketId, Payload, ProtocolLevel, PubackPacket, PubcompPacket, PublishPacket, PubrecPacket, PubrelPacket, ReturnCodes, SubackPacket, SubscribePacket, TAuthenticationResult, Topic, TReasonCode, UnsubackPacket, UnsubscribePacket, } from "../mqttPacket/mod.ts";
|
|
1
|
+
export type { AnyPacket, ConnackPacket, ConnectPacket, DisconnectPacket, Dup, PacketId, Payload, ProtocolLevel, PubackPacket, PubcompPacket, PublishPacket, PubrecPacket, PubrelPacket, QoS, ReturnCodes, SubackPacket, SubscribePacket, TAuthenticationResult, Topic, TReasonCode, UnsubackPacket, UnsubscribePacket, } from "../mqttPacket/mod.ts";
|
|
2
2
|
export { AuthenticationResult, AuthenticationResultByNumber, decodePayload, encode, MQTTLevel, PacketNameByType, PacketType, ReasonCodeByNumber, } from "../mqttPacket/mod.ts";
|
|
3
3
|
export { MqttConn } from "../mqttConn/mqttConn.ts";
|
|
4
4
|
export type { SockConn } from "../socket/socket.ts";
|