@matter/nodejs 0.17.0-alpha.0-20260507-059f7763b → 0.17.0-alpha.0-20260508-29ff5ae9e
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/package.json +9 -9
- package/dist/cjs/behavior/index.d.ts +0 -7
- package/dist/cjs/behavior/index.d.ts.map +0 -1
- package/dist/cjs/behavior/index.js +0 -8
- package/dist/cjs/behavior/index.js.map +0 -6
- package/dist/cjs/behavior/instrumentation.d.ts +0 -11
- package/dist/cjs/behavior/instrumentation.d.ts.map +0 -1
- package/dist/cjs/behavior/instrumentation.js +0 -39
- package/dist/cjs/behavior/instrumentation.js.map +0 -6
- package/dist/cjs/behavior/register.d.ts +0 -7
- package/dist/cjs/behavior/register.d.ts.map +0 -1
- package/dist/cjs/behavior/register.js +0 -9
- package/dist/cjs/behavior/register.js.map +0 -6
- package/dist/cjs/config.d.ts +0 -98
- package/dist/cjs/config.d.ts.map +0 -1
- package/dist/cjs/config.js +0 -210
- package/dist/cjs/config.js.map +0 -6
- package/dist/cjs/crypto/NodeJsCrypto.d.ts +0 -13
- package/dist/cjs/crypto/NodeJsCrypto.d.ts.map +0 -1
- package/dist/cjs/crypto/NodeJsCrypto.js +0 -46
- package/dist/cjs/crypto/NodeJsCrypto.js.map +0 -6
- package/dist/cjs/crypto/index.d.ts +0 -7
- package/dist/cjs/crypto/index.d.ts.map +0 -1
- package/dist/cjs/crypto/index.js +0 -24
- package/dist/cjs/crypto/index.js.map +0 -6
- package/dist/cjs/environment/NodeJsEnvironment.d.ts +0 -77
- package/dist/cjs/environment/NodeJsEnvironment.d.ts.map +0 -1
- package/dist/cjs/environment/NodeJsEnvironment.js +0 -254
- package/dist/cjs/environment/NodeJsEnvironment.js.map +0 -6
- package/dist/cjs/environment/ProcessManager.d.ts +0 -48
- package/dist/cjs/environment/ProcessManager.d.ts.map +0 -1
- package/dist/cjs/environment/ProcessManager.js +0 -129
- package/dist/cjs/environment/ProcessManager.js.map +0 -6
- package/dist/cjs/environment/index.d.ts +0 -9
- package/dist/cjs/environment/index.d.ts.map +0 -1
- package/dist/cjs/environment/index.js +0 -26
- package/dist/cjs/environment/index.js.map +0 -6
- package/dist/cjs/environment/register.d.ts +0 -7
- package/dist/cjs/environment/register.d.ts.map +0 -1
- package/dist/cjs/environment/register.js +0 -10
- package/dist/cjs/environment/register.js.map +0 -6
- package/dist/cjs/fs/NodeJsDirectory.d.ts +0 -24
- package/dist/cjs/fs/NodeJsDirectory.d.ts.map +0 -1
- package/dist/cjs/fs/NodeJsDirectory.js +0 -102
- package/dist/cjs/fs/NodeJsDirectory.js.map +0 -6
- package/dist/cjs/fs/NodeJsFile.d.ts +0 -22
- package/dist/cjs/fs/NodeJsFile.d.ts.map +0 -1
- package/dist/cjs/fs/NodeJsFile.js +0 -248
- package/dist/cjs/fs/NodeJsFile.js.map +0 -6
- package/dist/cjs/fs/NodeJsFilesystem.d.ts +0 -27
- package/dist/cjs/fs/NodeJsFilesystem.d.ts.map +0 -1
- package/dist/cjs/fs/NodeJsFilesystem.js +0 -83
- package/dist/cjs/fs/NodeJsFilesystem.js.map +0 -6
- package/dist/cjs/fs/fs-utils.d.ts +0 -16
- package/dist/cjs/fs/fs-utils.d.ts.map +0 -1
- package/dist/cjs/fs/fs-utils.js +0 -154
- package/dist/cjs/fs/fs-utils.js.map +0 -6
- package/dist/cjs/fs/index.d.ts +0 -7
- package/dist/cjs/fs/index.d.ts.map +0 -1
- package/dist/cjs/fs/index.js +0 -24
- package/dist/cjs/fs/index.js.map +0 -6
- package/dist/cjs/fs/lock-utils.d.ts +0 -12
- package/dist/cjs/fs/lock-utils.d.ts.map +0 -1
- package/dist/cjs/fs/lock-utils.js +0 -132
- package/dist/cjs/fs/lock-utils.js.map +0 -6
- package/dist/cjs/index.d.ts +0 -14
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -31
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/log/FileLogger.d.ts +0 -12
- package/dist/cjs/log/FileLogger.d.ts.map +0 -1
- package/dist/cjs/log/FileLogger.js +0 -46
- package/dist/cjs/log/FileLogger.js.map +0 -6
- package/dist/cjs/log/index.d.ts +0 -7
- package/dist/cjs/log/index.d.ts.map +0 -1
- package/dist/cjs/log/index.js +0 -24
- package/dist/cjs/log/index.js.map +0 -6
- package/dist/cjs/net/NodeJsHttpEndpoint.d.ts +0 -38
- package/dist/cjs/net/NodeJsHttpEndpoint.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsHttpEndpoint.js +0 -306
- package/dist/cjs/net/NodeJsHttpEndpoint.js.map +0 -6
- package/dist/cjs/net/NodeJsNetwork.d.ts +0 -37
- package/dist/cjs/net/NodeJsNetwork.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsNetwork.js +0 -199
- package/dist/cjs/net/NodeJsNetwork.js.map +0 -6
- package/dist/cjs/net/NodeJsTcpConnection.d.ts +0 -24
- package/dist/cjs/net/NodeJsTcpConnection.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsTcpConnection.js +0 -138
- package/dist/cjs/net/NodeJsTcpConnection.js.map +0 -6
- package/dist/cjs/net/NodeJsTcpListener.d.ts +0 -19
- package/dist/cjs/net/NodeJsTcpListener.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsTcpListener.js +0 -100
- package/dist/cjs/net/NodeJsTcpListener.js.map +0 -6
- package/dist/cjs/net/NodeJsUdpSocket.d.ts +0 -23
- package/dist/cjs/net/NodeJsUdpSocket.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsUdpSocket.js +0 -394
- package/dist/cjs/net/NodeJsUdpSocket.js.map +0 -6
- package/dist/cjs/net/WsAdapter.d.ts +0 -25
- package/dist/cjs/net/WsAdapter.d.ts.map +0 -1
- package/dist/cjs/net/WsAdapter.js +0 -33
- package/dist/cjs/net/WsAdapter.js.map +0 -6
- package/dist/cjs/net/index.d.ts +0 -12
- package/dist/cjs/net/index.d.ts.map +0 -1
- package/dist/cjs/net/index.js +0 -29
- package/dist/cjs/net/index.js.map +0 -6
- package/dist/cjs/package.json +0 -6
- package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.d.ts +0 -29
- package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.js +0 -155
- package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/FileStorageDriver.d.ts +0 -44
- package/dist/cjs/storage/fs/FileStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/FileStorageDriver.js +0 -334
- package/dist/cjs/storage/fs/FileStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.d.ts +0 -30
- package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.js +0 -195
- package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/JsonFileStorageDriver.d.ts +0 -27
- package/dist/cjs/storage/fs/JsonFileStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/JsonFileStorageDriver.js +0 -128
- package/dist/cjs/storage/fs/JsonFileStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/WalBlobStorageDriver.d.ts +0 -19
- package/dist/cjs/storage/fs/WalBlobStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/WalBlobStorageDriver.js +0 -44
- package/dist/cjs/storage/fs/WalBlobStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/index.d.ts +0 -21
- package/dist/cjs/storage/fs/index.d.ts.map +0 -1
- package/dist/cjs/storage/fs/index.js +0 -40
- package/dist/cjs/storage/fs/index.js.map +0 -6
- package/dist/cjs/storage/index.d.ts +0 -8
- package/dist/cjs/storage/index.d.ts.map +0 -1
- package/dist/cjs/storage/index.js +0 -25
- package/dist/cjs/storage/index.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.d.ts +0 -48
- package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.js +0 -217
- package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqlitePlatform.d.ts +0 -23
- package/dist/cjs/storage/sqlite/SqlitePlatform.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqlitePlatform.js +0 -56
- package/dist/cjs/storage/sqlite/SqlitePlatform.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteStorageDriver.d.ts +0 -102
- package/dist/cjs/storage/sqlite/SqliteStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteStorageDriver.js +0 -424
- package/dist/cjs/storage/sqlite/SqliteStorageDriver.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteStorageDriverError.d.ts +0 -19
- package/dist/cjs/storage/sqlite/SqliteStorageDriverError.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteStorageDriverError.js +0 -41
- package/dist/cjs/storage/sqlite/SqliteStorageDriverError.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteTypes.d.ts +0 -67
- package/dist/cjs/storage/sqlite/SqliteTypes.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteTypes.js +0 -35
- package/dist/cjs/storage/sqlite/SqliteTypes.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteUtil.d.ts +0 -33
- package/dist/cjs/storage/sqlite/SqliteUtil.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteUtil.js +0 -64
- package/dist/cjs/storage/sqlite/SqliteUtil.js.map +0 -6
- package/dist/cjs/storage/sqlite/index.d.ts +0 -15
- package/dist/cjs/storage/sqlite/index.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/index.js +0 -37
- package/dist/cjs/storage/sqlite/index.js.map +0 -6
- package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts +0 -13
- package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/platform/BunSqlite.js +0 -61
- package/dist/cjs/storage/sqlite/platform/BunSqlite.js.map +0 -6
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts +0 -8
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js +0 -53
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js.map +0 -6
- package/dist/cjs/time/index.d.ts +0 -7
- package/dist/cjs/time/index.d.ts.map +0 -1
- package/dist/cjs/time/index.js +0 -8
- package/dist/cjs/time/index.js.map +0 -6
- package/dist/cjs/time/startup.d.ts +0 -7
- package/dist/cjs/time/startup.d.ts.map +0 -1
- package/dist/cjs/time/startup.js +0 -11
- package/dist/cjs/time/startup.js.map +0 -6
- package/dist/cjs/util/runtimeChecks.d.ts +0 -14
- package/dist/cjs/util/runtimeChecks.d.ts.map +0 -1
- package/dist/cjs/util/runtimeChecks.js +0 -45
- package/dist/cjs/util/runtimeChecks.js.map +0 -6
- package/dist/esm/behavior/index.js +0 -7
- package/dist/esm/behavior/index.js.map +0 -6
- package/dist/esm/behavior/instrumentation.js +0 -19
- package/dist/esm/behavior/instrumentation.js.map +0 -6
- package/dist/esm/behavior/register.js +0 -8
- package/dist/esm/behavior/register.js.map +0 -6
- package/dist/esm/config.js +0 -190
- package/dist/esm/config.js.map +0 -6
- package/dist/esm/crypto/NodeJsCrypto.js +0 -16
- package/dist/esm/crypto/NodeJsCrypto.js.map +0 -6
- package/dist/esm/crypto/index.js +0 -7
- package/dist/esm/crypto/index.js.map +0 -6
- package/dist/esm/environment/NodeJsEnvironment.js +0 -242
- package/dist/esm/environment/NodeJsEnvironment.js.map +0 -6
- package/dist/esm/environment/ProcessManager.js +0 -109
- package/dist/esm/environment/ProcessManager.js.map +0 -6
- package/dist/esm/environment/index.js +0 -9
- package/dist/esm/environment/index.js.map +0 -6
- package/dist/esm/environment/register.js +0 -9
- package/dist/esm/environment/register.js.map +0 -6
- package/dist/esm/fs/NodeJsDirectory.js +0 -82
- package/dist/esm/fs/NodeJsDirectory.js.map +0 -6
- package/dist/esm/fs/NodeJsFile.js +0 -232
- package/dist/esm/fs/NodeJsFile.js.map +0 -6
- package/dist/esm/fs/NodeJsFilesystem.js +0 -63
- package/dist/esm/fs/NodeJsFilesystem.js.map +0 -6
- package/dist/esm/fs/fs-utils.js +0 -137
- package/dist/esm/fs/fs-utils.js.map +0 -6
- package/dist/esm/fs/index.js +0 -7
- package/dist/esm/fs/index.js.map +0 -6
- package/dist/esm/fs/lock-utils.js +0 -112
- package/dist/esm/fs/lock-utils.js.map +0 -6
- package/dist/esm/index.js +0 -14
- package/dist/esm/index.js.map +0 -6
- package/dist/esm/log/FileLogger.js +0 -26
- package/dist/esm/log/FileLogger.js.map +0 -6
- package/dist/esm/log/index.js +0 -7
- package/dist/esm/log/index.js.map +0 -6
- package/dist/esm/net/NodeJsHttpEndpoint.js +0 -286
- package/dist/esm/net/NodeJsHttpEndpoint.js.map +0 -6
- package/dist/esm/net/NodeJsNetwork.js +0 -189
- package/dist/esm/net/NodeJsNetwork.js.map +0 -6
- package/dist/esm/net/NodeJsTcpConnection.js +0 -124
- package/dist/esm/net/NodeJsTcpConnection.js.map +0 -6
- package/dist/esm/net/NodeJsTcpListener.js +0 -86
- package/dist/esm/net/NodeJsTcpListener.js.map +0 -6
- package/dist/esm/net/NodeJsUdpSocket.js +0 -385
- package/dist/esm/net/NodeJsUdpSocket.js.map +0 -6
- package/dist/esm/net/WsAdapter.js +0 -13
- package/dist/esm/net/WsAdapter.js.map +0 -6
- package/dist/esm/net/index.js +0 -12
- package/dist/esm/net/index.js.map +0 -6
- package/dist/esm/package.json +0 -6
- package/dist/esm/storage/fs/DirectoryBlobStorageDriver.js +0 -140
- package/dist/esm/storage/fs/DirectoryBlobStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/FileStorageDriver.js +0 -323
- package/dist/esm/storage/fs/FileStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/FlatFileBlobStorageDriver.js +0 -180
- package/dist/esm/storage/fs/FlatFileBlobStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/JsonFileStorageDriver.js +0 -116
- package/dist/esm/storage/fs/JsonFileStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/WalBlobStorageDriver.js +0 -24
- package/dist/esm/storage/fs/WalBlobStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/index.js +0 -19
- package/dist/esm/storage/fs/index.js.map +0 -6
- package/dist/esm/storage/index.js +0 -8
- package/dist/esm/storage/index.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteBlobStorageDriver.js +0 -197
- package/dist/esm/storage/sqlite/SqliteBlobStorageDriver.js.map +0 -6
- package/dist/esm/storage/sqlite/SqlitePlatform.js +0 -26
- package/dist/esm/storage/sqlite/SqlitePlatform.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteStorageDriver.js +0 -409
- package/dist/esm/storage/sqlite/SqliteStorageDriver.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteStorageDriverError.js +0 -21
- package/dist/esm/storage/sqlite/SqliteStorageDriverError.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteTypes.js +0 -15
- package/dist/esm/storage/sqlite/SqliteTypes.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteUtil.js +0 -44
- package/dist/esm/storage/sqlite/SqliteUtil.js.map +0 -6
- package/dist/esm/storage/sqlite/index.js +0 -17
- package/dist/esm/storage/sqlite/index.js.map +0 -6
- package/dist/esm/storage/sqlite/platform/BunSqlite.js +0 -41
- package/dist/esm/storage/sqlite/platform/BunSqlite.js.map +0 -6
- package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js +0 -33
- package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js.map +0 -6
- package/dist/esm/time/index.js +0 -7
- package/dist/esm/time/index.js.map +0 -6
- package/dist/esm/time/startup.js +0 -10
- package/dist/esm/time/startup.js.map +0 -6
- package/dist/esm/util/runtimeChecks.js +0 -25
- package/dist/esm/util/runtimeChecks.js.map +0 -6
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import {
|
|
7
|
-
Bytes,
|
|
8
|
-
NetworkError,
|
|
9
|
-
Seconds,
|
|
10
|
-
TCP_KEEP_ALIVE_INITIAL_DELAY_MS,
|
|
11
|
-
withTimeout
|
|
12
|
-
} from "@matter/general";
|
|
13
|
-
const TCP_CLOSE_TIMEOUT = Seconds(5);
|
|
14
|
-
class NodeJsTcpConnection {
|
|
15
|
-
remoteAddress;
|
|
16
|
-
remotePort;
|
|
17
|
-
localPort;
|
|
18
|
-
#socket;
|
|
19
|
-
#ended = false;
|
|
20
|
-
/** Queued chunks waiting for the async iterator to consume. */
|
|
21
|
-
#chunks = new Array();
|
|
22
|
-
/** Resolver for a pending iterator next() call waiting for data. */
|
|
23
|
-
#waiter;
|
|
24
|
-
constructor(socket) {
|
|
25
|
-
this.#socket = socket;
|
|
26
|
-
socket.setNoDelay(true);
|
|
27
|
-
socket.setKeepAlive(true, TCP_KEEP_ALIVE_INITIAL_DELAY_MS);
|
|
28
|
-
this.remoteAddress = socket.remoteAddress ?? "";
|
|
29
|
-
this.remotePort = socket.remotePort ?? 0;
|
|
30
|
-
this.localPort = socket.localPort ?? 0;
|
|
31
|
-
socket.on("data", (data) => {
|
|
32
|
-
const chunk = new Uint8Array(data);
|
|
33
|
-
if (this.#waiter) {
|
|
34
|
-
const resolve = this.#waiter;
|
|
35
|
-
this.#waiter = void 0;
|
|
36
|
-
resolve({ value: chunk, done: false });
|
|
37
|
-
} else {
|
|
38
|
-
this.#chunks.push(chunk);
|
|
39
|
-
if (this.#chunks.length > 1) {
|
|
40
|
-
socket.pause();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
socket.on("close", () => {
|
|
45
|
-
this.#ended = true;
|
|
46
|
-
this.#waiter?.({ value: void 0, done: true });
|
|
47
|
-
this.#waiter = void 0;
|
|
48
|
-
});
|
|
49
|
-
socket.on("error", (_error) => {
|
|
50
|
-
this.#ended = true;
|
|
51
|
-
this.#waiter?.({ value: void 0, done: true });
|
|
52
|
-
this.#waiter = void 0;
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
[Symbol.asyncIterator]() {
|
|
56
|
-
return {
|
|
57
|
-
next: () => {
|
|
58
|
-
if (this.#chunks.length > 0) {
|
|
59
|
-
const chunk = this.#chunks.shift();
|
|
60
|
-
if (this.#chunks.length === 0) {
|
|
61
|
-
this.#socket.resume();
|
|
62
|
-
}
|
|
63
|
-
return Promise.resolve({ value: chunk, done: false });
|
|
64
|
-
}
|
|
65
|
-
if (this.#ended) {
|
|
66
|
-
return Promise.resolve({ value: void 0, done: true });
|
|
67
|
-
}
|
|
68
|
-
this.#socket.resume();
|
|
69
|
-
return new Promise((resolve) => {
|
|
70
|
-
this.#waiter = resolve;
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
send(data) {
|
|
76
|
-
return new Promise((resolve, reject) => {
|
|
77
|
-
this.#socket.write(Bytes.of(data), (error) => {
|
|
78
|
-
if (error) {
|
|
79
|
-
reject(new NetworkError(error.message));
|
|
80
|
-
} else {
|
|
81
|
-
resolve();
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
onClose(listener) {
|
|
87
|
-
this.#socket.on("close", listener);
|
|
88
|
-
return {
|
|
89
|
-
close: async () => {
|
|
90
|
-
this.#socket.removeListener("close", listener);
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
onError(listener) {
|
|
95
|
-
const handler = (error) => {
|
|
96
|
-
listener(new NetworkError(error.message));
|
|
97
|
-
};
|
|
98
|
-
this.#socket.on("error", handler);
|
|
99
|
-
return {
|
|
100
|
-
close: async () => {
|
|
101
|
-
this.#socket.removeListener("error", handler);
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
async close() {
|
|
106
|
-
if (this.#socket.destroyed) {
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
this.#ended = true;
|
|
110
|
-
this.#waiter?.({ value: void 0, done: true });
|
|
111
|
-
this.#waiter = void 0;
|
|
112
|
-
const closed = new Promise((resolve) => {
|
|
113
|
-
this.#socket.once("close", () => resolve());
|
|
114
|
-
this.#socket.end();
|
|
115
|
-
});
|
|
116
|
-
await withTimeout(TCP_CLOSE_TIMEOUT, closed, () => {
|
|
117
|
-
this.#socket.destroy();
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
export {
|
|
122
|
-
NodeJsTcpConnection
|
|
123
|
-
};
|
|
124
|
-
//# sourceMappingURL=NodeJsTcpConnection.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/net/NodeJsTcpConnection.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import {
|
|
7
|
-
Logger,
|
|
8
|
-
NetworkError,
|
|
9
|
-
Seconds,
|
|
10
|
-
TCP_KEEP_ALIVE_INITIAL_DELAY_MS,
|
|
11
|
-
withTimeout
|
|
12
|
-
} from "@matter/general";
|
|
13
|
-
import { createServer } from "node:net";
|
|
14
|
-
import { NodeJsTcpConnection } from "./NodeJsTcpConnection.js";
|
|
15
|
-
const logger = Logger.get("NodeJsTcpListener");
|
|
16
|
-
const TCP_LISTEN_TIMEOUT = Seconds(10);
|
|
17
|
-
function serverPort(server) {
|
|
18
|
-
const addr = server.address();
|
|
19
|
-
if (addr === null || typeof addr === "string") {
|
|
20
|
-
throw new NetworkError(`TCP server address is not an IP address: ${addr}`);
|
|
21
|
-
}
|
|
22
|
-
return addr.port;
|
|
23
|
-
}
|
|
24
|
-
class NodeJsTcpListener {
|
|
25
|
-
#server;
|
|
26
|
-
#activeSockets = /* @__PURE__ */ new Set();
|
|
27
|
-
static async create(options = {}) {
|
|
28
|
-
const { listeningPort, listeningAddress } = options;
|
|
29
|
-
const server = createServer({
|
|
30
|
-
keepAlive: true,
|
|
31
|
-
keepAliveInitialDelay: TCP_KEEP_ALIVE_INITIAL_DELAY_MS
|
|
32
|
-
});
|
|
33
|
-
const listening = new Promise((resolve, reject) => {
|
|
34
|
-
const handleError = (error) => {
|
|
35
|
-
server.removeListener("error", handleError);
|
|
36
|
-
reject(new NetworkError(error.message));
|
|
37
|
-
};
|
|
38
|
-
server.on("error", handleError);
|
|
39
|
-
server.listen(listeningPort ?? 0, listeningAddress, () => {
|
|
40
|
-
server.removeListener("error", handleError);
|
|
41
|
-
resolve();
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
await withTimeout(TCP_LISTEN_TIMEOUT, listening, () => {
|
|
45
|
-
server.close();
|
|
46
|
-
throw new NetworkError("TCP server listen timeout");
|
|
47
|
-
});
|
|
48
|
-
const port = serverPort(server);
|
|
49
|
-
logger.debug(`TCP server listening on ${listeningAddress ?? "all interfaces"} port ${port}`);
|
|
50
|
-
return new NodeJsTcpListener(server);
|
|
51
|
-
}
|
|
52
|
-
constructor(server) {
|
|
53
|
-
this.#server = server;
|
|
54
|
-
server.on("connection", (socket) => {
|
|
55
|
-
this.#activeSockets.add(socket);
|
|
56
|
-
socket.once("close", () => this.#activeSockets.delete(socket));
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
get port() {
|
|
60
|
-
return serverPort(this.#server);
|
|
61
|
-
}
|
|
62
|
-
onConnection(listener) {
|
|
63
|
-
const handler = (socket) => {
|
|
64
|
-
listener(new NodeJsTcpConnection(socket));
|
|
65
|
-
};
|
|
66
|
-
this.#server.on("connection", handler);
|
|
67
|
-
return {
|
|
68
|
-
close: async () => {
|
|
69
|
-
this.#server.removeListener("connection", handler);
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
async close() {
|
|
74
|
-
for (const socket of this.#activeSockets) {
|
|
75
|
-
socket.destroy();
|
|
76
|
-
}
|
|
77
|
-
this.#activeSockets.clear();
|
|
78
|
-
await new Promise((resolve, reject) => {
|
|
79
|
-
this.#server.close((error) => error ? reject(error) : resolve());
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
export {
|
|
84
|
-
NodeJsTcpListener
|
|
85
|
-
};
|
|
86
|
-
//# sourceMappingURL=NodeJsTcpListener.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/net/NodeJsTcpListener.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAKA;AAAA,OACG;AACP,SAAS,oBAA8C;AACvD,SAAS,2BAA2B;AAEpC,MAAM,SAAS,OAAO,IAAI,mBAAmB;AAG7C,MAAM,qBAAqB,QAAQ,EAAE;AAErC,SAAS,WAAW,QAAwB;AACxC,QAAM,OAAO,OAAO,QAAQ;AAC5B,MAAI,SAAS,QAAQ,OAAO,SAAS,UAAU;AAC3C,UAAM,IAAI,aAAa,4CAA4C,IAAI,EAAE;AAAA,EAC7E;AACA,SAAO,KAAK;AAChB;AAMO,MAAM,kBAAyC;AAAA,EACzC;AAAA,EACA,iBAAiB,oBAAI,IAAY;AAAA,EAE1C,aAAa,OAAO,UAA8B,CAAC,GAA+B;AAC9E,UAAM,EAAE,eAAe,iBAAiB,IAAI;AAE5C,UAAM,SAAS,aAAa;AAAA,MACxB,WAAW;AAAA,MACX,uBAAuB;AAAA,IAC3B,CAAC;AAED,UAAM,YAAY,IAAI,QAAc,CAAC,SAAS,WAAW;AACrD,YAAM,cAAc,CAAC,UAAiB;AAClC,eAAO,eAAe,SAAS,WAAW;AAC1C,eAAO,IAAI,aAAa,MAAM,OAAO,CAAC;AAAA,MAC1C;AACA,aAAO,GAAG,SAAS,WAAW;AAC9B,aAAO,OAAO,iBAAiB,GAAG,kBAAkB,MAAM;AACtD,eAAO,eAAe,SAAS,WAAW;AAC1C,gBAAQ;AAAA,MACZ,CAAC;AAAA,IACL,CAAC;AAED,UAAM,YAAY,oBAAoB,WAAW,MAAM;AACnD,aAAO,MAAM;AACb,YAAM,IAAI,aAAa,2BAA2B;AAAA,IACtD,CAAC;AAED,UAAM,OAAO,WAAW,MAAM;AAC9B,WAAO,MAAM,2BAA2B,oBAAoB,gBAAgB,SAAS,IAAI,EAAE;AAE3F,WAAO,IAAI,kBAAkB,MAAM;AAAA,EACvC;AAAA,EAEQ,YAAY,QAAgB;AAChC,SAAK,UAAU;AAEf,WAAO,GAAG,cAAc,CAAC,WAAmB;AACxC,WAAK,eAAe,IAAI,MAAM;AAC9B,aAAO,KAAK,SAAS,MAAM,KAAK,eAAe,OAAO,MAAM,CAAC;AAAA,IACjE,CAAC;AAAA,EACL;AAAA,EAEA,IAAI,OAAe;AACf,WAAO,WAAW,KAAK,OAAO;AAAA,EAClC;AAAA,EAEA,aAAa,UAA+D;AACxE,UAAM,UAAU,CAAC,WAAmB;AAChC,eAAS,IAAI,oBAAoB,MAAM,CAAC;AAAA,IAC5C;AACA,SAAK,QAAQ,GAAG,cAAc,OAAO;AACrC,WAAO;AAAA,MACH,OAAO,YAAY;AACf,aAAK,QAAQ,eAAe,cAAc,OAAO;AAAA,MACrD;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,QAAuB;AAEzB,eAAW,UAAU,KAAK,gBAAgB;AACtC,aAAO,QAAQ;AAAA,IACnB;AACA,SAAK,eAAe,MAAM;AAE1B,UAAM,IAAI,QAAc,CAAC,SAAS,WAAW;AACzC,WAAK,QAAQ,MAAM,WAAU,QAAQ,OAAO,KAAK,IAAI,QAAQ,CAAE;AAAA,IACnE,CAAC;AAAA,EACL;AACJ;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,385 +0,0 @@
|
|
|
1
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
2
|
-
var __typeError = (msg) => {
|
|
3
|
-
throw TypeError(msg);
|
|
4
|
-
};
|
|
5
|
-
var __using = (stack, value, async) => {
|
|
6
|
-
if (value != null) {
|
|
7
|
-
if (typeof value !== "object" && typeof value !== "function") __typeError("Object expected");
|
|
8
|
-
var dispose, inner;
|
|
9
|
-
if (async) dispose = value[__knownSymbol("asyncDispose")];
|
|
10
|
-
if (dispose === void 0) {
|
|
11
|
-
dispose = value[__knownSymbol("dispose")];
|
|
12
|
-
if (async) inner = dispose;
|
|
13
|
-
}
|
|
14
|
-
if (typeof dispose !== "function") __typeError("Object not disposable");
|
|
15
|
-
if (inner) dispose = function() {
|
|
16
|
-
try {
|
|
17
|
-
inner.call(this);
|
|
18
|
-
} catch (e) {
|
|
19
|
-
return Promise.reject(e);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
stack.push([async, dispose, value]);
|
|
23
|
-
} else if (async) {
|
|
24
|
-
stack.push([async]);
|
|
25
|
-
}
|
|
26
|
-
return value;
|
|
27
|
-
};
|
|
28
|
-
var __callDispose = (stack, error, hasError) => {
|
|
29
|
-
var E = typeof SuppressedError === "function" ? SuppressedError : function(e, s, m, _) {
|
|
30
|
-
return _ = Error(m), _.name = "SuppressedError", _.error = e, _.suppressed = s, _;
|
|
31
|
-
};
|
|
32
|
-
var fail = (e) => error = hasError ? new E(e, error, "An error was suppressed during disposal") : (hasError = true, e);
|
|
33
|
-
var next = (it) => {
|
|
34
|
-
while (it = stack.pop()) {
|
|
35
|
-
try {
|
|
36
|
-
var result = it[1] && it[1].call(it[2]);
|
|
37
|
-
if (it[0]) return Promise.resolve(result).then(next, (e) => (fail(e), next()));
|
|
38
|
-
} catch (e) {
|
|
39
|
-
fail(e);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (hasError) throw error;
|
|
43
|
-
};
|
|
44
|
-
return next();
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* @license
|
|
48
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
49
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
50
|
-
*/
|
|
51
|
-
import {
|
|
52
|
-
AddressInUseError,
|
|
53
|
-
AddressUnreachableError,
|
|
54
|
-
BindError,
|
|
55
|
-
Bytes,
|
|
56
|
-
ChannelType,
|
|
57
|
-
createPromise,
|
|
58
|
-
Diagnostic,
|
|
59
|
-
ImplementationError,
|
|
60
|
-
isIPv4,
|
|
61
|
-
isIPv6,
|
|
62
|
-
Lifetime,
|
|
63
|
-
Logger,
|
|
64
|
-
MAX_UDP_MESSAGE_SIZE,
|
|
65
|
-
Millis,
|
|
66
|
-
NetworkError,
|
|
67
|
-
NetworkUnreachableError,
|
|
68
|
-
NoAddressAvailableError,
|
|
69
|
-
repackErrorAs,
|
|
70
|
-
Seconds,
|
|
71
|
-
Time
|
|
72
|
-
} from "@matter/general";
|
|
73
|
-
import * as dgram from "node:dgram";
|
|
74
|
-
import { NodeJsNetwork } from "./NodeJsNetwork.js";
|
|
75
|
-
const logger = Logger.get("NodejsChannel");
|
|
76
|
-
const UDP_SEND_TIMEOUT_CHECK_INTERVAL = Seconds.one;
|
|
77
|
-
function createDgramSocket(host, port, options) {
|
|
78
|
-
const socket = dgram.createSocket(options);
|
|
79
|
-
return new Promise((resolve, reject) => {
|
|
80
|
-
const handleBindError = (error) => {
|
|
81
|
-
try {
|
|
82
|
-
socket.close();
|
|
83
|
-
} catch (error2) {
|
|
84
|
-
logger.debug("Error closing socket:", error2);
|
|
85
|
-
}
|
|
86
|
-
const code = error?.code;
|
|
87
|
-
let desc = `${host ? host : options.type === "udp4" ? "0.0.0.0" : "{::}"}`;
|
|
88
|
-
if (port !== void 0) {
|
|
89
|
-
desc = `${desc}:${port}`;
|
|
90
|
-
}
|
|
91
|
-
switch (code) {
|
|
92
|
-
case "EADDRINUSE":
|
|
93
|
-
error = new AddressInUseError(`Cannot bind ${desc} because port is already in use`);
|
|
94
|
-
break;
|
|
95
|
-
default:
|
|
96
|
-
error = new BindError(`Cannot bind to ${desc} (code ${code})`);
|
|
97
|
-
break;
|
|
98
|
-
}
|
|
99
|
-
reject(error);
|
|
100
|
-
};
|
|
101
|
-
socket.on("error", handleBindError);
|
|
102
|
-
socket.bind(port, host, () => {
|
|
103
|
-
const { address: localHost, port: localPort } = socket.address();
|
|
104
|
-
logger.debug(
|
|
105
|
-
"Socket created and bound ",
|
|
106
|
-
Diagnostic.dict({
|
|
107
|
-
remoteAddress: `${host}:${port}`,
|
|
108
|
-
localAddress: `${localHost}:${localPort}`
|
|
109
|
-
})
|
|
110
|
-
);
|
|
111
|
-
socket.removeListener("error", handleBindError);
|
|
112
|
-
socket.on("error", (error) => logger.error(error));
|
|
113
|
-
resolve(socket);
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
class NodeJsUdpSocket {
|
|
118
|
-
#lifetime;
|
|
119
|
-
#type;
|
|
120
|
-
#socket;
|
|
121
|
-
#netInterface;
|
|
122
|
-
#observedInterface;
|
|
123
|
-
static async create({
|
|
124
|
-
lifetime: lifetimeOwner,
|
|
125
|
-
listeningPort,
|
|
126
|
-
type,
|
|
127
|
-
listeningAddress,
|
|
128
|
-
netInterface,
|
|
129
|
-
reuseAddress
|
|
130
|
-
}) {
|
|
131
|
-
var _stack2 = [];
|
|
132
|
-
try {
|
|
133
|
-
const name = `${listeningAddress?.includes(":") ? `[${listeningAddress}]` : listeningAddress ?? "*"}:${listeningPort}`;
|
|
134
|
-
const lifetime = __using(_stack2, (lifetimeOwner ?? Lifetime.process).join("socket", Diagnostic.strong(name)));
|
|
135
|
-
lifetime.details.intf = netInterface;
|
|
136
|
-
let dgramType;
|
|
137
|
-
switch (type) {
|
|
138
|
-
case "udp":
|
|
139
|
-
case "udp6":
|
|
140
|
-
dgramType = "udp6";
|
|
141
|
-
break;
|
|
142
|
-
case "udp4":
|
|
143
|
-
dgramType = "udp4";
|
|
144
|
-
break;
|
|
145
|
-
default:
|
|
146
|
-
throw new ImplementationError(`Unrecognized UDP socket type ${type}`);
|
|
147
|
-
}
|
|
148
|
-
const socketOptions = { type: dgramType };
|
|
149
|
-
if (type === "udp6") {
|
|
150
|
-
socketOptions.ipv6Only = true;
|
|
151
|
-
}
|
|
152
|
-
if (reuseAddress) {
|
|
153
|
-
socketOptions.reuseAddr = true;
|
|
154
|
-
}
|
|
155
|
-
let socket;
|
|
156
|
-
{
|
|
157
|
-
var _stack = [];
|
|
158
|
-
try {
|
|
159
|
-
const _creating = __using(_stack, lifetime.join("creating"));
|
|
160
|
-
socket = await createDgramSocket(listeningAddress, listeningPort, socketOptions);
|
|
161
|
-
} catch (_) {
|
|
162
|
-
var _error = _, _hasError = true;
|
|
163
|
-
} finally {
|
|
164
|
-
__callDispose(_stack, _error, _hasError);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
socket.setBroadcast(true);
|
|
168
|
-
let netInterfaceZone;
|
|
169
|
-
if (netInterface === void 0 && listeningAddress !== void 0) {
|
|
170
|
-
netInterfaceZone = NodeJsNetwork.getNetInterfaceForIp(listeningAddress) || void 0;
|
|
171
|
-
}
|
|
172
|
-
if (netInterface !== void 0) {
|
|
173
|
-
netInterfaceZone = NodeJsNetwork.getNetInterfaceZoneIpv6(netInterface);
|
|
174
|
-
let multicastInterface;
|
|
175
|
-
if (type === "udp4") {
|
|
176
|
-
multicastInterface = NodeJsNetwork.getMulticastInterfaceIpv4(netInterface);
|
|
177
|
-
if (multicastInterface === void 0) {
|
|
178
|
-
throw new NoAddressAvailableError(`No IPv4 addresses on interface "${netInterface}"`);
|
|
179
|
-
}
|
|
180
|
-
} else {
|
|
181
|
-
if (netInterfaceZone === void 0) {
|
|
182
|
-
throw new NoAddressAvailableError(`No IPv6 addresses on interface "${netInterface}"`);
|
|
183
|
-
}
|
|
184
|
-
multicastInterface = `::%${netInterfaceZone}`;
|
|
185
|
-
}
|
|
186
|
-
logger.debug(
|
|
187
|
-
"Initialize multicast",
|
|
188
|
-
Diagnostic.dict({
|
|
189
|
-
address: `${multicastInterface}:${listeningPort}`,
|
|
190
|
-
interface: netInterface,
|
|
191
|
-
type
|
|
192
|
-
})
|
|
193
|
-
);
|
|
194
|
-
socket.setMulticastInterface(multicastInterface);
|
|
195
|
-
}
|
|
196
|
-
return new NodeJsUdpSocket(lifetime, type, socket, netInterfaceZone);
|
|
197
|
-
} catch (_2) {
|
|
198
|
-
var _error2 = _2, _hasError2 = true;
|
|
199
|
-
} finally {
|
|
200
|
-
__callDispose(_stack2, _error2, _hasError2);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
maxPayloadSize = MAX_UDP_MESSAGE_SIZE;
|
|
204
|
-
/**
|
|
205
|
-
* Timer for a maximum interval to check for dangling send calls that are not completed.
|
|
206
|
-
* The way it is implemented we ensure that any "send" is rejected latest after < 2s
|
|
207
|
-
*/
|
|
208
|
-
#sendTimer = Time.getTimer(
|
|
209
|
-
"UDPChannel.send timeout check",
|
|
210
|
-
UDP_SEND_TIMEOUT_CHECK_INTERVAL,
|
|
211
|
-
() => this.#rejectDanglingSends()
|
|
212
|
-
);
|
|
213
|
-
#sendsInProgress = /* @__PURE__ */ new Map();
|
|
214
|
-
constructor(lifetime, type, socket, netInterface) {
|
|
215
|
-
this.#lifetime = lifetime;
|
|
216
|
-
this.#type = type;
|
|
217
|
-
this.#socket = socket;
|
|
218
|
-
this.#netInterface = netInterface;
|
|
219
|
-
}
|
|
220
|
-
addMembership(membershipAddress) {
|
|
221
|
-
const multicastInterfaces = NodeJsNetwork.getMembershipMulticastInterfaces(
|
|
222
|
-
this.#netInterface,
|
|
223
|
-
this.#type === "udp4"
|
|
224
|
-
);
|
|
225
|
-
for (const multicastInterface of multicastInterfaces) {
|
|
226
|
-
try {
|
|
227
|
-
this.#socket.addMembership(membershipAddress, multicastInterface);
|
|
228
|
-
} catch (error) {
|
|
229
|
-
logger.warn(
|
|
230
|
-
`Error adding membership for address ${membershipAddress}${multicastInterface ? ` with interface ${multicastInterface}` : ""}: ${error}`
|
|
231
|
-
);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
dropMembership(membershipAddress) {
|
|
236
|
-
const multicastInterfaces = NodeJsNetwork.getMembershipMulticastInterfaces(
|
|
237
|
-
this.#netInterface,
|
|
238
|
-
this.#type === "udp4"
|
|
239
|
-
);
|
|
240
|
-
for (const multicastInterface of multicastInterfaces) {
|
|
241
|
-
try {
|
|
242
|
-
this.#socket.dropMembership(membershipAddress, multicastInterface);
|
|
243
|
-
} catch (error) {
|
|
244
|
-
logger.warn(
|
|
245
|
-
`Error removing membership for address ${membershipAddress}${multicastInterface ? ` with interface ${multicastInterface}` : ""}: ${error}`
|
|
246
|
-
);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
onData(listener) {
|
|
251
|
-
const messageListener = (data, { address, port }) => {
|
|
252
|
-
const netInterface = this.#netInterface ?? NodeJsNetwork.getNetInterfaceForIp(address);
|
|
253
|
-
if (netInterface && this.#observedInterface === void 0) {
|
|
254
|
-
this.#observedInterface = netInterface;
|
|
255
|
-
}
|
|
256
|
-
listener(netInterface, address, port, data);
|
|
257
|
-
};
|
|
258
|
-
this.#socket.on("message", messageListener);
|
|
259
|
-
return {
|
|
260
|
-
close: async () => {
|
|
261
|
-
this.#socket.removeListener("message", messageListener);
|
|
262
|
-
}
|
|
263
|
-
};
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* At minimum once every second we check for dangling sends that are not completed. That means that a dangling send
|
|
267
|
-
* is removed very latest after <2s.
|
|
268
|
-
*/
|
|
269
|
-
#rejectDanglingSends() {
|
|
270
|
-
if (this.#sendsInProgress.size === 0) {
|
|
271
|
-
return;
|
|
272
|
-
}
|
|
273
|
-
const now = Time.nowMs;
|
|
274
|
-
for (const [promise, { sendMs, rejecter }] of this.#sendsInProgress) {
|
|
275
|
-
const elapsed = Millis(now - sendMs);
|
|
276
|
-
if (elapsed >= UDP_SEND_TIMEOUT_CHECK_INTERVAL) {
|
|
277
|
-
this.#sendsInProgress.delete(promise);
|
|
278
|
-
rejecter(new NetworkError("UDP send timeout"));
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
if (this.#sendsInProgress.size > 0) {
|
|
282
|
-
this.#sendTimer.start();
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
async send(host, port, data) {
|
|
286
|
-
const { promise, resolver, rejecter } = createPromise();
|
|
287
|
-
const rejectOrResolve = (error) => {
|
|
288
|
-
if (!this.#sendsInProgress.has(promise)) {
|
|
289
|
-
return;
|
|
290
|
-
}
|
|
291
|
-
this.#sendsInProgress.delete(promise);
|
|
292
|
-
if (!error) {
|
|
293
|
-
resolver();
|
|
294
|
-
} else {
|
|
295
|
-
let repackAs;
|
|
296
|
-
if ("code" in error) {
|
|
297
|
-
switch (error.code) {
|
|
298
|
-
case "EHOSTUNREACH":
|
|
299
|
-
repackAs = AddressUnreachableError;
|
|
300
|
-
break;
|
|
301
|
-
case "ENETUNREACH":
|
|
302
|
-
repackAs = NetworkUnreachableError;
|
|
303
|
-
break;
|
|
304
|
-
default:
|
|
305
|
-
repackAs = NetworkError;
|
|
306
|
-
break;
|
|
307
|
-
}
|
|
308
|
-
} else {
|
|
309
|
-
repackAs = NetworkError;
|
|
310
|
-
}
|
|
311
|
-
rejecter(repackErrorAs(error, repackAs));
|
|
312
|
-
}
|
|
313
|
-
};
|
|
314
|
-
let sendHost = host;
|
|
315
|
-
if (host.startsWith("ff") && !host.includes("%")) {
|
|
316
|
-
let effectiveInterface = this.#netInterface ?? this.#observedInterface;
|
|
317
|
-
if (!effectiveInterface) {
|
|
318
|
-
const boundAddress = this.#socket.address();
|
|
319
|
-
if ("address" in boundAddress && boundAddress.address !== "::") {
|
|
320
|
-
effectiveInterface = NodeJsNetwork.getNetInterfaceForIp(boundAddress.address);
|
|
321
|
-
}
|
|
322
|
-
if (!effectiveInterface) {
|
|
323
|
-
effectiveInterface = NodeJsNetwork.getDefaultNetInterface();
|
|
324
|
-
}
|
|
325
|
-
if (effectiveInterface) {
|
|
326
|
-
this.#observedInterface = effectiveInterface;
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
if (effectiveInterface) {
|
|
330
|
-
sendHost = `${host}%${effectiveInterface}`;
|
|
331
|
-
} else {
|
|
332
|
-
throw new NetworkError(
|
|
333
|
-
`Cannot send to multicast address ${host} without a known network interface. Configure network.listeningAddressIpv6 to bind to a specific interface.`
|
|
334
|
-
);
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
this.#sendsInProgress.set(promise, { sendMs: Time.nowMs, rejecter });
|
|
338
|
-
if (!this.#sendTimer.isRunning) {
|
|
339
|
-
this.#sendTimer.start();
|
|
340
|
-
}
|
|
341
|
-
try {
|
|
342
|
-
this.#socket.send(Bytes.of(data), port, sendHost, (error) => rejectOrResolve(error));
|
|
343
|
-
} catch (error) {
|
|
344
|
-
rejectOrResolve(repackErrorAs(error, NetworkError));
|
|
345
|
-
}
|
|
346
|
-
return promise;
|
|
347
|
-
}
|
|
348
|
-
async close() {
|
|
349
|
-
var _stack = [];
|
|
350
|
-
try {
|
|
351
|
-
const _closing = __using(_stack, this.#lifetime.closing());
|
|
352
|
-
this.#sendTimer.stop();
|
|
353
|
-
try {
|
|
354
|
-
await new Promise((resolve) => this.#socket.close(resolve));
|
|
355
|
-
} catch (error) {
|
|
356
|
-
if (!(error instanceof Error) || error.message !== "Not running") {
|
|
357
|
-
logger.debug("Error on closing socket", error);
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
} catch (_) {
|
|
361
|
-
var _error = _, _hasError = true;
|
|
362
|
-
} finally {
|
|
363
|
-
__callDispose(_stack, _error, _hasError);
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
get port() {
|
|
367
|
-
return this.#socket.address().port;
|
|
368
|
-
}
|
|
369
|
-
supports(type, address) {
|
|
370
|
-
if (type !== ChannelType.UDP) {
|
|
371
|
-
return false;
|
|
372
|
-
}
|
|
373
|
-
if (address === void 0) {
|
|
374
|
-
return true;
|
|
375
|
-
}
|
|
376
|
-
if (this.#type === "udp4") {
|
|
377
|
-
return isIPv4(address);
|
|
378
|
-
}
|
|
379
|
-
return isIPv6(address);
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
export {
|
|
383
|
-
NodeJsUdpSocket
|
|
384
|
-
};
|
|
385
|
-
//# sourceMappingURL=NodeJsUdpSocket.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/net/NodeJsUdpSocket.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["error", "_stack", "_", "_error", "_hasError"]
|
|
6
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
var WsAdapter;
|
|
7
|
-
((WsAdapter2) => {
|
|
8
|
-
WsAdapter2.defaultFactory = void 0;
|
|
9
|
-
})(WsAdapter || (WsAdapter = {}));
|
|
10
|
-
export {
|
|
11
|
-
WsAdapter
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=WsAdapter.js.map
|
package/dist/esm/net/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
export * from "./NodeJsHttpEndpoint.js";
|
|
7
|
-
export * from "./NodeJsNetwork.js";
|
|
8
|
-
export * from "./NodeJsTcpConnection.js";
|
|
9
|
-
export * from "./NodeJsTcpListener.js";
|
|
10
|
-
export * from "./NodeJsUdpSocket.js";
|
|
11
|
-
export * from "./WsAdapter.js";
|
|
12
|
-
//# sourceMappingURL=index.js.map
|