@seriousme/opifex 2.0.3 → 2.1.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/client/ConnectionState.ts +1 -1
- package/client/client.ts +40 -9
- package/client/context.ts +11 -13
- package/client/deps.ts +8 -5
- package/client/handlers/handleConnack.ts +2 -2
- package/client/mod.ts +13 -2
- package/client/store/memoryStore.ts +11 -10
- package/client/store/store.ts +1 -1
- package/deno/tcpClient.ts +21 -8
- package/deno/tcpServer.ts +21 -4
- package/deno/tlsServer.ts +20 -4
- package/deno/wsServer.ts +23 -0
- package/dist/client/ConnectionState.d.ts +1 -1
- package/dist/client/ConnectionState.d.ts.map +1 -1
- package/dist/client/client.d.ts +38 -9
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +23 -0
- package/dist/client/client.js.map +1 -1
- package/dist/client/context.d.ts +8 -8
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js.map +1 -1
- package/dist/client/deps.d.ts +3 -3
- package/dist/client/deps.d.ts.map +1 -1
- package/dist/client/deps.js.map +1 -1
- package/dist/client/handlers/handleConnack.d.ts.map +1 -1
- package/dist/client/handlers/handleConnack.js.map +1 -1
- package/dist/client/mod.d.ts +3 -2
- package/dist/client/mod.d.ts.map +1 -1
- package/dist/client/mod.js +1 -1
- package/dist/client/mod.js.map +1 -1
- package/dist/client/store/memoryStore.d.ts +3 -3
- package/dist/client/store/memoryStore.d.ts.map +1 -1
- package/dist/client/store/memoryStore.js +2 -2
- package/dist/client/store/memoryStore.js.map +1 -1
- package/dist/client/store/store.d.ts +1 -1
- package/dist/client/store/store.d.ts.map +1 -1
- package/dist/examples/authHandler.test.js +3 -3
- package/dist/examples/authHandler.test.js.map +1 -1
- package/dist/mqttConn/mqttConn.d.ts +2 -17
- package/dist/mqttConn/mqttConn.d.ts.map +1 -1
- package/dist/mqttConn/mqttConn.js +1 -1
- package/dist/mqttConn/mqttConn.js.map +1 -1
- package/dist/mqttPacket/AuthenticationResult.d.ts +4 -0
- package/dist/mqttPacket/AuthenticationResult.d.ts.map +1 -1
- package/dist/mqttPacket/AuthenticationResult.js.map +1 -1
- package/dist/mqttPacket/PacketType.d.ts +4 -0
- package/dist/mqttPacket/PacketType.d.ts.map +1 -1
- package/dist/mqttPacket/Properties.d.ts +2 -2
- package/dist/mqttPacket/Properties.d.ts.map +1 -1
- package/dist/mqttPacket/ReasonCode.d.ts +3 -5
- package/dist/mqttPacket/ReasonCode.d.ts.map +1 -1
- package/dist/mqttPacket/ReasonCode.js.map +1 -1
- package/dist/mqttPacket/RetainHandling.d.ts +4 -0
- package/dist/mqttPacket/RetainHandling.d.ts.map +1 -1
- package/dist/mqttPacket/auth.d.ts +6 -5
- package/dist/mqttPacket/auth.d.ts.map +1 -1
- package/dist/mqttPacket/auth.js +2 -2
- package/dist/mqttPacket/auth.js.map +1 -1
- package/dist/mqttPacket/codec.d.ts.map +1 -1
- package/dist/mqttPacket/codec.js.map +1 -1
- package/dist/mqttPacket/connack.d.ts +9 -7
- package/dist/mqttPacket/connack.d.ts.map +1 -1
- package/dist/mqttPacket/connack.js +2 -2
- package/dist/mqttPacket/connack.js.map +1 -1
- package/dist/mqttPacket/connect.d.ts +5 -4
- package/dist/mqttPacket/connect.d.ts.map +1 -1
- package/dist/mqttPacket/connect.js.map +1 -1
- package/dist/mqttPacket/decoder.d.ts +6 -4
- package/dist/mqttPacket/decoder.d.ts.map +1 -1
- package/dist/mqttPacket/decoder.js +1 -1
- package/dist/mqttPacket/decoder.js.map +1 -1
- package/dist/mqttPacket/disconnect.d.ts +7 -5
- package/dist/mqttPacket/disconnect.d.ts.map +1 -1
- package/dist/mqttPacket/disconnect.js +2 -2
- package/dist/mqttPacket/disconnect.js.map +1 -1
- package/dist/mqttPacket/encoder.d.ts +7 -5
- package/dist/mqttPacket/encoder.d.ts.map +1 -1
- package/dist/mqttPacket/encoder.js +1 -1
- package/dist/mqttPacket/encoder.js.map +1 -1
- package/dist/mqttPacket/mod.d.ts +1 -1
- package/dist/mqttPacket/mod.d.ts.map +1 -1
- package/dist/mqttPacket/pingreq.d.ts +4 -3
- package/dist/mqttPacket/pingreq.d.ts.map +1 -1
- package/dist/mqttPacket/pingreq.js.map +1 -1
- package/dist/mqttPacket/pingres.d.ts +4 -3
- package/dist/mqttPacket/pingres.d.ts.map +1 -1
- package/dist/mqttPacket/pingres.js.map +1 -1
- package/dist/mqttPacket/pubblishAcks.d.ts +7 -7
- package/dist/mqttPacket/pubblishAcks.d.ts.map +1 -1
- package/dist/mqttPacket/pubblishAcks.js +2 -2
- package/dist/mqttPacket/pubblishAcks.js.map +1 -1
- package/dist/mqttPacket/publish.d.ts +5 -4
- package/dist/mqttPacket/publish.d.ts.map +1 -1
- package/dist/mqttPacket/publish.js.map +1 -1
- package/dist/mqttPacket/suback.d.ts +7 -5
- package/dist/mqttPacket/suback.d.ts.map +1 -1
- package/dist/mqttPacket/suback.js +2 -2
- package/dist/mqttPacket/suback.js.map +1 -1
- package/dist/mqttPacket/subscribe.d.ts +7 -5
- package/dist/mqttPacket/subscribe.d.ts.map +1 -1
- package/dist/mqttPacket/subscribe.js.map +1 -1
- package/dist/mqttPacket/types.d.ts +1 -21
- package/dist/mqttPacket/types.d.ts.map +1 -1
- package/dist/mqttPacket/unsuback.d.ts +7 -5
- package/dist/mqttPacket/unsuback.d.ts.map +1 -1
- package/dist/mqttPacket/unsuback.js +1 -1
- package/dist/mqttPacket/unsuback.js.map +1 -1
- package/dist/mqttPacket/unsubscribe.d.ts +5 -4
- package/dist/mqttPacket/unsubscribe.d.ts.map +1 -1
- package/dist/mqttPacket/unsubscribe.js.map +1 -1
- package/dist/node/tcpClient.d.ts +21 -1
- package/dist/node/tcpClient.d.ts.map +1 -1
- package/dist/node/tcpClient.js +18 -4
- package/dist/node/tcpClient.js.map +1 -1
- package/dist/node/tcpServer.d.ts +18 -0
- package/dist/node/tcpServer.d.ts.map +1 -1
- package/dist/node/tcpServer.js +17 -2
- package/dist/node/tcpServer.js.map +1 -1
- package/dist/node/tlsServer.d.ts +18 -0
- package/dist/node/tlsServer.d.ts.map +1 -1
- package/dist/node/tlsServer.js +17 -2
- package/dist/node/tlsServer.js.map +1 -1
- package/dist/persistence/basicPersistence.d.ts +4 -4
- package/dist/persistence/basicPersistence.d.ts.map +1 -1
- package/dist/persistence/basicPersistence.js.map +1 -1
- package/dist/persistence/deps.d.ts +1 -1
- package/dist/persistence/deps.d.ts.map +1 -1
- package/dist/persistence/memory/memoryStorage.d.ts +3 -3
- package/dist/persistence/memory/memoryStorage.d.ts.map +1 -1
- package/dist/persistence/mod.d.ts +1 -1
- package/dist/persistence/mod.d.ts.map +1 -1
- package/dist/persistence/persistence.d.ts +3 -3
- package/dist/persistence/persistence.d.ts.map +1 -1
- package/dist/persistence/sqlite/sqliteStorage.d.ts +2 -2
- package/dist/persistence/sqlite/sqliteStorage.d.ts.map +1 -1
- package/dist/persistence/storage.d.ts +1 -1
- package/dist/persistence/storage.d.ts.map +1 -1
- package/dist/server/context.d.ts +4 -4
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js.map +1 -1
- package/dist/server/deps.d.ts +2 -2
- package/dist/server/deps.d.ts.map +1 -1
- package/dist/server/deps.js.map +1 -1
- package/dist/server/handlers/completeConnect.d.ts +3 -2
- package/dist/server/handlers/completeConnect.d.ts.map +1 -1
- package/dist/server/handlers/completeConnect.js.map +1 -1
- package/dist/server/handlers/handlePublish.d.ts.map +1 -1
- package/dist/server/handlers/handlePublish.js.map +1 -1
- package/dist/server/handlers/handleSubscribe.d.ts.map +1 -1
- package/dist/server/handlers/handleSubscribe.js.map +1 -1
- package/dist/server/handlers/handleUnsubscribe.d.ts.map +1 -1
- package/dist/server/handlers/handleUnsubscribe.js.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.map +1 -1
- package/dist/socket/socket.d.ts +4 -0
- package/dist/socket/socket.d.ts.map +1 -1
- package/dist/socket/socket.js.map +1 -1
- package/dist/utils/logger.d.ts +3 -3
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/web/wsClient.d.ts +7 -0
- package/dist/web/wsClient.d.ts.map +1 -1
- package/dist/web/wsClient.js +12 -1
- package/dist/web/wsClient.js.map +1 -1
- package/examples/authHandler.test.ts +3 -3
- package/mqttConn/mqttConn.ts +2 -18
- package/mqttPacket/AuthenticationResult.ts +6 -0
- package/mqttPacket/PacketType.ts +5 -0
- package/mqttPacket/Properties.ts +2 -2
- package/mqttPacket/ReasonCode.ts +6 -8
- package/mqttPacket/RetainHandling.ts +5 -0
- package/mqttPacket/auth.ts +7 -7
- package/mqttPacket/codec.ts +3 -2
- package/mqttPacket/connack.ts +11 -10
- package/mqttPacket/connect.ts +4 -11
- package/mqttPacket/decoder.ts +9 -11
- package/mqttPacket/disconnect.ts +7 -7
- package/mqttPacket/encoder.test.ts +2 -2
- package/mqttPacket/encoder.ts +9 -7
- package/mqttPacket/mod.ts +0 -4
- package/mqttPacket/pingreq.ts +3 -3
- package/mqttPacket/pingres.ts +3 -3
- package/mqttPacket/pubblishAcks.ts +9 -9
- package/mqttPacket/publish.ts +4 -11
- package/mqttPacket/publishAcks.test.ts +3 -3
- package/mqttPacket/suback.ts +8 -13
- package/mqttPacket/subscribe.ts +6 -12
- package/mqttPacket/types.ts +1 -26
- package/mqttPacket/unsuback.ts +8 -7
- package/mqttPacket/unsubscribe.ts +4 -10
- package/node/tcpClient.ts +21 -6
- package/node/tcpServer.ts +23 -6
- package/node/tlsServer.ts +23 -7
- package/package.json +1 -1
- package/persistence/basicPersistence.ts +5 -5
- package/persistence/deps.ts +1 -1
- package/persistence/memory/memoryStorage.ts +3 -3
- package/persistence/mod.ts +1 -1
- package/persistence/persistence.testing.ts +4 -4
- package/persistence/persistence.ts +3 -3
- package/persistence/sqlite/sqliteStorage.ts +2 -2
- package/persistence/storage.ts +1 -1
- package/server/context.ts +5 -5
- package/server/deps.ts +1 -2
- package/server/handlers/completeConnect.ts +2 -2
- package/server/handlers/handlePublish.ts +3 -4
- package/server/handlers/handleSubscribe.ts +3 -4
- package/server/handlers/handleUnsubscribe.ts +2 -2
- package/server/mod.ts +1 -1
- package/server/server.ts +3 -3
- package/socket/socket.ts +4 -0
- package/tools/benchmarks/receiver.ts +2 -2
- package/tools/benchmarks/sender.ts +2 -2
- package/utils/logger.ts +3 -3
- package/web/wsClient.ts +13 -1
package/server/mod.ts
CHANGED
package/server/server.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { logger, MemoryPersistence, ReasonCode } from "./deps.ts";
|
|
2
2
|
import { Context } from "./context.ts";
|
|
3
3
|
import type { Handlers } from "./context.ts";
|
|
4
|
-
import type {
|
|
4
|
+
import type { Persistence, ShareName, SockConn, Topic } from "./deps.ts";
|
|
5
5
|
import { handlePacket } from "./handlers/handlePacket.ts";
|
|
6
6
|
import { createConfiguration } from "./config.ts";
|
|
7
7
|
import type { Configuration, ConfigurationInput } from "./config.ts";
|
|
@@ -69,7 +69,7 @@ const defaultIsAuthorizedToSubscribe = (
|
|
|
69
69
|
*/
|
|
70
70
|
export type MqttServerOptions = {
|
|
71
71
|
/** Optional persistence layer implementation. Defaults to MemoryPersistence. */
|
|
72
|
-
persistence?:
|
|
72
|
+
persistence?: Persistence;
|
|
73
73
|
/** Optional custom handlers for authentication and authorization. */
|
|
74
74
|
handlers?: Handlers;
|
|
75
75
|
/** Optional configuration data */
|
|
@@ -91,7 +91,7 @@ export class MqttServer {
|
|
|
91
91
|
/** The registered authentication and authorization handlers. */
|
|
92
92
|
handlers: Handlers;
|
|
93
93
|
/** The persistence layer used for storing sessions and messages. */
|
|
94
|
-
persistence:
|
|
94
|
+
persistence: Persistence;
|
|
95
95
|
/** The persistence layer used for storing sessions and messages. */
|
|
96
96
|
configuration: Configuration;
|
|
97
97
|
|
package/socket/socket.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
/** Net adresses */
|
|
1
2
|
export type NetAddr = {
|
|
2
3
|
transport: "tcp" | "udp";
|
|
3
4
|
hostname: string;
|
|
4
5
|
port: number;
|
|
5
6
|
};
|
|
7
|
+
/** Unix adresses */
|
|
6
8
|
export type UnixAddr = { transport: "unix" | "unixpacket"; path: string };
|
|
9
|
+
/** vSock adresses */
|
|
7
10
|
export type VsockAddr = { transport: "vsock"; cid: number; port: number };
|
|
11
|
+
/** Socket adresses */
|
|
8
12
|
export type SockAddr = NetAddr | UnixAddr | VsockAddr;
|
|
9
13
|
/** Socket connection descriptor. */
|
|
10
14
|
export type SockConn = {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { exit } from "node:process";
|
|
2
2
|
import { getArgs, importClientClass } from "./utils.ts";
|
|
3
3
|
import { logger } from "../../utils/mod.ts";
|
|
4
|
-
import type {
|
|
4
|
+
import type { LogLevel } from "../../utils/logger.ts";
|
|
5
5
|
import type { QoS } from "../../client/deps.ts";
|
|
6
6
|
|
|
7
7
|
export async function runReceiver(
|
|
8
|
-
level:
|
|
8
|
+
level: LogLevel,
|
|
9
9
|
url: string,
|
|
10
10
|
topic: string,
|
|
11
11
|
qos: QoS,
|
|
@@ -2,7 +2,7 @@ import { exit } from "node:process";
|
|
|
2
2
|
import { runAsap } from "../../dev_utils/timers.ts";
|
|
3
3
|
import { getArgs, importClientClass } from "./utils.ts";
|
|
4
4
|
import { logger } from "../../utils/mod.ts";
|
|
5
|
-
import type {
|
|
5
|
+
import type { LogLevel } from "../../utils/logger.ts";
|
|
6
6
|
import type { QoS } from "../../client/deps.ts";
|
|
7
7
|
|
|
8
8
|
const { TcpClient } = await importClientClass();
|
|
@@ -13,7 +13,7 @@ client.onError = (err: Error) => {
|
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
export async function runSender(
|
|
16
|
-
level:
|
|
16
|
+
level: LogLevel,
|
|
17
17
|
url: string,
|
|
18
18
|
topic: string,
|
|
19
19
|
qos: QoS,
|
package/utils/logger.ts
CHANGED
|
@@ -19,7 +19,7 @@ export const LogLevel = {
|
|
|
19
19
|
/**
|
|
20
20
|
* Union type representing the permitted numeric log level indices.
|
|
21
21
|
*/
|
|
22
|
-
export type
|
|
22
|
+
export type LogLevel = typeof LogLevel[keyof typeof LogLevel];
|
|
23
23
|
|
|
24
24
|
type LogArgument = unknown | (() => unknown);
|
|
25
25
|
|
|
@@ -88,9 +88,9 @@ export class Logger {
|
|
|
88
88
|
|
|
89
89
|
/**
|
|
90
90
|
* Adjusts the current verbosity threshold, enabling or masking specific log outputs.
|
|
91
|
-
* @param {
|
|
91
|
+
* @param {LogLevel} logLevel - The minimum numeric severity level threshold to output.
|
|
92
92
|
*/
|
|
93
|
-
level(logLevel:
|
|
93
|
+
level(logLevel: LogLevel) {
|
|
94
94
|
this.isWarn = logLevel >= LogLevel.warn;
|
|
95
95
|
this.isInfo = logLevel >= LogLevel.info;
|
|
96
96
|
this.isVerbose = logLevel >= LogLevel.verbose;
|
package/web/wsClient.ts
CHANGED
|
@@ -1,16 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* this is a WebSockets specific client
|
|
3
|
+
* it extends the platform agnostic Client class
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
|
|
1
7
|
import { Client } from "../client/client.ts";
|
|
2
8
|
import { logger } from "../client/deps.ts";
|
|
3
9
|
import type { SockConn } from "../client/deps.ts";
|
|
4
10
|
import { wrapWebSocket } from "./wrapWebSocket.ts";
|
|
5
11
|
|
|
12
|
+
/**
|
|
13
|
+
* WsClient extends the Client class to provide WebSocket based clients
|
|
14
|
+
* it is used by the MQTTclient to connect to the broker
|
|
15
|
+
* see the /examples folder for an example
|
|
16
|
+
*/
|
|
6
17
|
export class WsClient extends Client {
|
|
18
|
+
/** create a websocket and wrap it in a SockConn */
|
|
7
19
|
private async establishSocket(url: string): Promise<SockConn> {
|
|
8
20
|
const ws = new WebSocket(url);
|
|
9
21
|
const conn = await wrapWebSocket(ws);
|
|
10
22
|
return conn;
|
|
11
23
|
}
|
|
12
24
|
|
|
13
|
-
|
|
25
|
+
/** createConn provides support for both "ws:" and "wss:" URLs */
|
|
14
26
|
protected override createConn(): Promise<SockConn> {
|
|
15
27
|
const { protocol, hostname, port: portStr, pathname } = this.connectUrl;
|
|
16
28
|
const port = portStr ? Number(portStr) : (protocol === "wss:" ? 443 : 80);
|