@seriousme/opifex 1.8.2 → 1.9.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/dist/node/wrapNodeSocket.d.ts.map +1 -1
- package/dist/node/wrapNodeSocket.js +1 -0
- package/dist/node/wrapNodeSocket.js.map +1 -1
- package/dist/persistence/memory/memoryPersistence.d.ts +1 -3
- package/dist/persistence/memory/memoryPersistence.d.ts.map +1 -1
- package/dist/persistence/memory/memoryPersistence.js +3 -3
- package/dist/persistence/memory/memoryPersistence.js.map +1 -1
- package/dist/persistence/mod.d.ts +9 -0
- package/dist/persistence/mod.d.ts.map +1 -0
- package/dist/persistence/mod.js +2 -0
- package/dist/persistence/mod.js.map +1 -0
- package/dist/persistence/persistence.d.ts +5 -0
- package/dist/persistence/persistence.d.ts.map +1 -1
- package/dist/persistence/persistence.js +5 -1
- package/dist/persistence/persistence.js.map +1 -1
- package/dist/socket/socket.d.ts +7 -2
- package/dist/socket/socket.d.ts.map +1 -1
- package/dist/socket/socket.js.map +1 -1
- package/node/wrapNodeSocket.ts +3 -2
- package/package.json +5 -3
- package/persistence/memory/memoryPersistence.ts +15 -16
- package/persistence/mod.ts +20 -0
- package/persistence/persistence.ts +5 -0
- package/socket/socket.ts +8 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapNodeSocket.d.ts","sourceRoot":"","sources":["../../node/wrapNodeSocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"wrapNodeSocket.d.ts","sourceRoot":"","sources":["../../node/wrapNodeSocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,KAAK,EAAW,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAW7D;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CA4CvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapNodeSocket.js","sourceRoot":"","sources":["../../node/wrapNodeSocket.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;GAGG;AACH,SAAS,MAAM,CAAC,IAAY;IAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,QAAQ,GAAG,IAAI,cAAc,CACjC;QACE,IAAI,EAAE,OAAO;QACb,KAAK,CAAC,UAAU;YACd,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAqB,EAAE,EAAE;gBAC1C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC;gBAChD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;oBACrB,2CAA2C;oBAC3C,oDAAoD;oBACpD,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpB,uBAAuB;gBACvB,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,wCAAwC;gBACxC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,CAAC;KACF,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"wrapNodeSocket.js","sourceRoot":"","sources":["../../node/wrapNodeSocket.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;GAGG;AACH,SAAS,MAAM,CAAC,IAAY;IAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,QAAQ,GAAG,IAAI,cAAc,CACjC;QACE,IAAI,EAAE,OAAO;QACb,KAAK,CAAC,UAAU;YACd,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAqB,EAAE,EAAE;gBAC1C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC;gBAChD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;oBACrB,2CAA2C;oBAC3C,oDAAoD;oBACpD,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpB,uBAAuB;gBACvB,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,wCAAwC;gBACxC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,CAAC;KACF,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,UAAU,GAAY;QAC1B,QAAQ,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;QACpC,IAAI,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;QAC5B,SAAS,EAAE,KAAK;KACjB,CAAC;IAEF,MAAM,IAAI,GAAa;QACrB,QAAQ,EAAE,QAAsC;QAChD,QAAQ,EAAE,QAAsC;QAChD,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,UAAU;KACX,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { Client, Handler, IPersistence, RetainStore } from "../persistence.ts";
|
|
3
|
-
import type { IStore, PacketStore, SubscriptionStore } from "../store.ts";
|
|
1
|
+
import type { Client, ClientId, Handler, IPersistence, IStore, PacketId, PacketStore, PublishPacket, QoS, RetainStore, SubscriptionStore, Topic, TopicFilter } from "../mod.ts";
|
|
4
2
|
export declare class MemoryStore implements IStore {
|
|
5
3
|
existingSession: boolean;
|
|
6
4
|
clientId: ClientId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryPersistence.d.ts","sourceRoot":"","sources":["../../../persistence/memory/memoryPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"memoryPersistence.d.ts","sourceRoot":"","sources":["../../../persistence/memory/memoryPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,aAAa,EACb,GAAG,EACH,WAAW,EACX,iBAAiB,EACjB,KAAK,EACL,WAAW,EACZ,MAAM,WAAW,CAAC;AAYnB,qBAAa,WAAY,YAAW,MAAM;IACxC,eAAe,EAAE,OAAO,CAAS;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,QAAQ,CAAW;IAC3B,eAAe,EAAE,WAAW,CAAC;IAC7B,eAAe,EAAE,WAAW,CAAC;IAC7B,kBAAkB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,aAAa,EAAE,iBAAiB,CAAC;gBAErB,QAAQ,EAAE,QAAQ;IAS9B,MAAM,IAAI,QAAQ;CAenB;AAED,qBAAa,iBAAkB,YAAW,YAAY;IACpD,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,IAAI,CAA2B;;IAQvC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM;IAS5E,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQ1C,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAQlE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;IAS1D,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IA4BlD,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAezC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { maxPacketId } from "../mod.js";
|
|
2
|
+
import { Trie } from "../deps.js";
|
|
2
3
|
import { assert } from "../../utils/mod.js";
|
|
3
|
-
const maxPacketId = 0xffff;
|
|
4
4
|
export class MemoryStore {
|
|
5
5
|
existingSession = false;
|
|
6
6
|
clientId;
|
|
@@ -65,7 +65,7 @@ export class MemoryPersistence {
|
|
|
65
65
|
unsubscribe(store, topicFilter) {
|
|
66
66
|
const clientId = store.clientId;
|
|
67
67
|
const qos = store.subscriptions.get(topicFilter);
|
|
68
|
-
if (qos) {
|
|
68
|
+
if (qos !== undefined) {
|
|
69
69
|
store.subscriptions.delete(topicFilter);
|
|
70
70
|
this.trie.remove(topicFilter, { clientId, qos });
|
|
71
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryPersistence.js","sourceRoot":"","sources":["../../../persistence/memory/memoryPersistence.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memoryPersistence.js","sourceRoot":"","sources":["../../../persistence/memory/memoryPersistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module persistence
|
|
3
|
+
* @description Module for handling MQTT message persistence and client management
|
|
4
|
+
*/
|
|
5
|
+
export type { IStore, PacketStore, SubscriptionStore } from "./store.ts";
|
|
6
|
+
export type { ClientId, PacketId, PublishPacket, QoS, Topic, TopicFilter, } from "./deps.ts";
|
|
7
|
+
export type { Client, Handler, IPersistence, RetainStore, } from "./persistence.ts";
|
|
8
|
+
export { maxPacketId } from "./persistence.ts";
|
|
9
|
+
//# sourceMappingURL=mod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../persistence/mod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACzE,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,GAAG,EACH,KAAK,EACL,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,MAAM,EACN,OAAO,EACP,YAAY,EACZ,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../persistence/mod.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { ClientId, PublishPacket, QoS, Topic } from "./deps.ts";
|
|
6
6
|
import type { IStore } from "./store.ts";
|
|
7
|
+
/**
|
|
8
|
+
* Maximum packet ID value for MQTT messages (0xffff/65535)
|
|
9
|
+
* @constant {number}
|
|
10
|
+
*/
|
|
11
|
+
export declare const maxPacketId = 65535;
|
|
7
12
|
/**
|
|
8
13
|
* Handler function type for processing publish packets
|
|
9
14
|
* @callback Handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../persistence/persistence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAElC;;;OAGG;IACH,QAAQ,EAAE,WAAW,CAAC;IAEtB;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IAE7E;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAE3C;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAEnD;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAEvD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAE/C;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC1C"}
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../persistence/persistence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,WAAW,QAAS,CAAC;AAClC;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAElC;;;OAGG;IACH,QAAQ,EAAE,WAAW,CAAC;IAEtB;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IAE7E;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAE3C;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAEnD;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAEvD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAE/C;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../persistence/persistence.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../persistence/persistence.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC"}
|
package/dist/socket/socket.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export type SockAddr = NetAddr | UnixAddr |
|
|
1
|
+
export type SockAddr = NetAddr | UnixAddr | VsockAddr;
|
|
2
2
|
export interface NetAddr {
|
|
3
|
-
transport
|
|
3
|
+
transport: "tcp" | "udp";
|
|
4
4
|
hostname: string;
|
|
5
5
|
port: number;
|
|
6
6
|
}
|
|
@@ -8,6 +8,11 @@ export interface UnixAddr {
|
|
|
8
8
|
transport: "unix" | "unixpacket";
|
|
9
9
|
path: string;
|
|
10
10
|
}
|
|
11
|
+
export interface VsockAddr {
|
|
12
|
+
transport: "vsock";
|
|
13
|
+
cid: number;
|
|
14
|
+
port: number;
|
|
15
|
+
}
|
|
11
16
|
export type SockConn = {
|
|
12
17
|
readable: ReadableStream<Uint8Array>;
|
|
13
18
|
writable: WritableStream<Uint8Array>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../socket/socket.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AACtD,MAAM,WAAW,OAAO;IACtB,SAAS,
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../socket/socket.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AACtD,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,GAAG,YAAY,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB,CAAC;AAEF,qBAAa,IAAI;IACf,MAAM,EAAE,wBAAwB,CAAC;IACjC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAC;IACjC,MAAM,EAAE,MAAM,IAAI,CAAC;gBAEP,QAAQ,EAAE,QAAQ;IASxB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASpD,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAQxC,KAAK;CAMN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../socket/socket.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../socket/socket.ts"],"names":[],"mappings":"AA0BA,MAAM,OAAO,IAAI;IACf,MAAM,CAA2B;IACjC,MAAM,CAA0C;IAChD,MAAM,CAAU;IAChB,UAAU,CAAuB;IACjC,MAAM,CAAa;IAEnB,YAAY,QAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC5C,qDAAqD;QACrD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAgB;QACzB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,IAAgB;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;CACF"}
|
package/node/wrapNodeSocket.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { Socket } from "node:net";
|
|
5
5
|
import { Writable } from "node:stream";
|
|
6
|
-
import type { SockConn } from "../socket/socket.ts";
|
|
6
|
+
import type { NetAddr, SockConn } from "../socket/socket.ts";
|
|
7
7
|
/**
|
|
8
8
|
* Closes a Node.js socket if it is not already closed
|
|
9
9
|
* @param sock - The Node.js socket to close
|
|
@@ -50,9 +50,10 @@ export function wrapNodeSocket(socket: Socket): SockConn {
|
|
|
50
50
|
},
|
|
51
51
|
);
|
|
52
52
|
const writable = Writable.toWeb(socket);
|
|
53
|
-
const remoteAddr = {
|
|
53
|
+
const remoteAddr: NetAddr = {
|
|
54
54
|
hostname: socket.remoteAddress || "",
|
|
55
55
|
port: socket.remotePort || 0,
|
|
56
|
+
transport: "tcp",
|
|
56
57
|
};
|
|
57
58
|
|
|
58
59
|
const conn: SockConn = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seriousme/opifex",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "MQTT client & server for Deno & NodeJS",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
"./tcpServer": "./dist/node/tcpServer.js",
|
|
37
37
|
"./server": "./dist/server/mod.js",
|
|
38
38
|
"./client": "./dist/client/mod.js",
|
|
39
|
-
"./
|
|
39
|
+
"./trie": "./dist/trie/trie.js",
|
|
40
|
+
"./persistence": "./dist/persistence/mod.js",
|
|
40
41
|
"./mqttConn": "./dist/mqttConn/mqttConn.js",
|
|
41
42
|
"./mqttPacket": "./dist/mqttPacket/mod.js",
|
|
42
43
|
"./utils": "./dist/utils/mod.js"
|
|
@@ -47,7 +48,8 @@
|
|
|
47
48
|
"./tcpServer": "./deno/tcpServer.ts",
|
|
48
49
|
"./server": "./server/mod.ts",
|
|
49
50
|
"./client": "./client/mod.ts",
|
|
50
|
-
"./
|
|
51
|
+
"./trie": "./trie/trie.ts",
|
|
52
|
+
"./persistence": "./persistence/mod.ts",
|
|
51
53
|
"./mqttConn": "./mqttConn/mqttConn.ts",
|
|
52
54
|
"./mqttPacket": "./mqttPacket/mod.ts",
|
|
53
55
|
"./utils": "./utils/mod.ts"
|
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type ClientId,
|
|
3
|
-
type PacketId,
|
|
4
|
-
type PublishPacket,
|
|
5
|
-
type QoS,
|
|
6
|
-
type Topic,
|
|
7
|
-
type TopicFilter,
|
|
8
|
-
Trie,
|
|
9
|
-
} from "../deps.ts";
|
|
10
|
-
|
|
11
1
|
import type {
|
|
12
2
|
Client,
|
|
3
|
+
ClientId,
|
|
13
4
|
Handler,
|
|
14
5
|
IPersistence,
|
|
6
|
+
IStore,
|
|
7
|
+
PacketId,
|
|
8
|
+
PacketStore,
|
|
9
|
+
PublishPacket,
|
|
10
|
+
QoS,
|
|
15
11
|
RetainStore,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
SubscriptionStore,
|
|
13
|
+
Topic,
|
|
14
|
+
TopicFilter,
|
|
15
|
+
} from "../mod.ts";
|
|
19
16
|
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
import { maxPacketId } from "../mod.ts";
|
|
18
|
+
|
|
19
|
+
import { Trie } from "../deps.ts";
|
|
20
|
+
import { assert } from "../../utils/mod.ts";
|
|
22
21
|
|
|
23
22
|
type ClientSubscription = {
|
|
24
23
|
clientId: ClientId;
|
|
@@ -99,7 +98,7 @@ export class MemoryPersistence implements IPersistence {
|
|
|
99
98
|
unsubscribe(store: IStore, topicFilter: TopicFilter): void {
|
|
100
99
|
const clientId = store.clientId;
|
|
101
100
|
const qos = store.subscriptions.get(topicFilter);
|
|
102
|
-
if (qos) {
|
|
101
|
+
if (qos !== undefined) {
|
|
103
102
|
store.subscriptions.delete(topicFilter);
|
|
104
103
|
this.trie.remove(topicFilter, { clientId, qos });
|
|
105
104
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module persistence
|
|
3
|
+
* @description Module for handling MQTT message persistence and client management
|
|
4
|
+
*/
|
|
5
|
+
export type { IStore, PacketStore, SubscriptionStore } from "./store.ts";
|
|
6
|
+
export type {
|
|
7
|
+
ClientId,
|
|
8
|
+
PacketId,
|
|
9
|
+
PublishPacket,
|
|
10
|
+
QoS,
|
|
11
|
+
Topic,
|
|
12
|
+
TopicFilter,
|
|
13
|
+
} from "./deps.ts";
|
|
14
|
+
export type {
|
|
15
|
+
Client,
|
|
16
|
+
Handler,
|
|
17
|
+
IPersistence,
|
|
18
|
+
RetainStore,
|
|
19
|
+
} from "./persistence.ts";
|
|
20
|
+
export { maxPacketId } from "./persistence.ts";
|
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
import type { ClientId, PublishPacket, QoS, Topic } from "./deps.ts";
|
|
6
6
|
import type { IStore } from "./store.ts";
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Maximum packet ID value for MQTT messages (0xffff/65535)
|
|
10
|
+
* @constant {number}
|
|
11
|
+
*/
|
|
12
|
+
export const maxPacketId = 0xffff;
|
|
8
13
|
/**
|
|
9
14
|
* Handler function type for processing publish packets
|
|
10
15
|
* @callback Handler
|
package/socket/socket.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export type SockAddr = NetAddr | UnixAddr |
|
|
1
|
+
export type SockAddr = NetAddr | UnixAddr | VsockAddr;
|
|
2
2
|
export interface NetAddr {
|
|
3
|
-
transport
|
|
3
|
+
transport: "tcp" | "udp";
|
|
4
4
|
hostname: string;
|
|
5
5
|
port: number;
|
|
6
6
|
}
|
|
@@ -10,6 +10,12 @@ export interface UnixAddr {
|
|
|
10
10
|
path: string;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
export interface VsockAddr {
|
|
14
|
+
transport: "vsock";
|
|
15
|
+
cid: number;
|
|
16
|
+
port: number;
|
|
17
|
+
}
|
|
18
|
+
|
|
13
19
|
export type SockConn = {
|
|
14
20
|
readable: ReadableStream<Uint8Array>;
|
|
15
21
|
writable: WritableStream<Uint8Array>;
|