@matter/general 0.14.1-alpha.0-20250605-9fc134af0 → 0.14.1-alpha.0-20250606-a9bcd03f9

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.
Files changed (120) hide show
  1. package/dist/cjs/codec/DerCodec.js +2 -2
  2. package/dist/cjs/codec/DerCodec.js.map +1 -1
  3. package/dist/cjs/codec/DnsCodec.js +14 -14
  4. package/dist/cjs/codec/DnsCodec.js.map +1 -1
  5. package/dist/cjs/net/Network.d.ts +1 -0
  6. package/dist/cjs/net/Network.d.ts.map +1 -1
  7. package/dist/cjs/net/Network.js +3 -1
  8. package/dist/cjs/net/Network.js.map +1 -1
  9. package/dist/cjs/net/UdpChannel.d.ts +5 -2
  10. package/dist/cjs/net/UdpChannel.d.ts.map +1 -1
  11. package/dist/cjs/net/UdpChannel.js.map +1 -1
  12. package/dist/cjs/net/UdpInterface.d.ts +6 -6
  13. package/dist/cjs/net/UdpInterface.d.ts.map +1 -1
  14. package/dist/cjs/net/UdpInterface.js +32 -18
  15. package/dist/cjs/net/UdpInterface.js.map +1 -1
  16. package/dist/cjs/net/UdpMulticastServer.d.ts.map +1 -1
  17. package/dist/cjs/net/UdpMulticastServer.js +9 -8
  18. package/dist/cjs/net/UdpMulticastServer.js.map +1 -1
  19. package/dist/cjs/net/mock/MockUdpChannel.d.ts +2 -0
  20. package/dist/cjs/net/mock/MockUdpChannel.d.ts.map +1 -1
  21. package/dist/cjs/net/mock/MockUdpChannel.js +4 -0
  22. package/dist/cjs/net/mock/MockUdpChannel.js.map +1 -1
  23. package/dist/cjs/time/Time.d.ts +2 -0
  24. package/dist/cjs/time/Time.d.ts.map +1 -1
  25. package/dist/cjs/time/Time.js +7 -0
  26. package/dist/cjs/time/Time.js.map +1 -1
  27. package/dist/cjs/util/DataReadQueue.d.ts +1 -0
  28. package/dist/cjs/util/DataReadQueue.d.ts.map +1 -1
  29. package/dist/cjs/util/DataReadQueue.js +3 -0
  30. package/dist/cjs/util/DataReadQueue.js.map +1 -1
  31. package/dist/cjs/util/DataReader.d.ts +2 -2
  32. package/dist/cjs/util/DataReader.d.ts.map +1 -1
  33. package/dist/cjs/util/DataReader.js.map +1 -1
  34. package/dist/cjs/util/DataWriter.d.ts +2 -2
  35. package/dist/cjs/util/DataWriter.d.ts.map +1 -1
  36. package/dist/cjs/util/DataWriter.js.map +1 -1
  37. package/dist/cjs/util/Ip.d.ts +1 -0
  38. package/dist/cjs/util/Ip.d.ts.map +1 -1
  39. package/dist/cjs/util/Ip.js +45 -0
  40. package/dist/cjs/util/Ip.js.map +1 -1
  41. package/dist/cjs/util/Map.d.ts +24 -0
  42. package/dist/cjs/util/Map.d.ts.map +1 -0
  43. package/dist/cjs/util/Map.js +72 -0
  44. package/dist/cjs/util/Map.js.map +6 -0
  45. package/dist/cjs/util/Set.d.ts +1 -0
  46. package/dist/cjs/util/Set.d.ts.map +1 -1
  47. package/dist/cjs/util/Set.js +14 -5
  48. package/dist/cjs/util/Set.js.map +2 -2
  49. package/dist/cjs/util/index.d.ts +1 -0
  50. package/dist/cjs/util/index.d.ts.map +1 -1
  51. package/dist/cjs/util/index.js +1 -0
  52. package/dist/cjs/util/index.js.map +1 -1
  53. package/dist/esm/codec/DerCodec.js +3 -3
  54. package/dist/esm/codec/DerCodec.js.map +1 -1
  55. package/dist/esm/codec/DnsCodec.js +15 -15
  56. package/dist/esm/codec/DnsCodec.js.map +1 -1
  57. package/dist/esm/net/Network.d.ts +1 -0
  58. package/dist/esm/net/Network.d.ts.map +1 -1
  59. package/dist/esm/net/Network.js +3 -1
  60. package/dist/esm/net/Network.js.map +1 -1
  61. package/dist/esm/net/UdpChannel.d.ts +5 -2
  62. package/dist/esm/net/UdpChannel.d.ts.map +1 -1
  63. package/dist/esm/net/UdpChannel.js.map +1 -1
  64. package/dist/esm/net/UdpInterface.d.ts +6 -6
  65. package/dist/esm/net/UdpInterface.d.ts.map +1 -1
  66. package/dist/esm/net/UdpInterface.js +32 -18
  67. package/dist/esm/net/UdpInterface.js.map +1 -1
  68. package/dist/esm/net/UdpMulticastServer.d.ts.map +1 -1
  69. package/dist/esm/net/UdpMulticastServer.js +9 -8
  70. package/dist/esm/net/UdpMulticastServer.js.map +1 -1
  71. package/dist/esm/net/mock/MockUdpChannel.d.ts +2 -0
  72. package/dist/esm/net/mock/MockUdpChannel.d.ts.map +1 -1
  73. package/dist/esm/net/mock/MockUdpChannel.js +4 -0
  74. package/dist/esm/net/mock/MockUdpChannel.js.map +1 -1
  75. package/dist/esm/time/Time.d.ts +2 -0
  76. package/dist/esm/time/Time.d.ts.map +1 -1
  77. package/dist/esm/time/Time.js +7 -0
  78. package/dist/esm/time/Time.js.map +1 -1
  79. package/dist/esm/util/DataReadQueue.d.ts +1 -0
  80. package/dist/esm/util/DataReadQueue.d.ts.map +1 -1
  81. package/dist/esm/util/DataReadQueue.js +3 -0
  82. package/dist/esm/util/DataReadQueue.js.map +1 -1
  83. package/dist/esm/util/DataReader.d.ts +2 -2
  84. package/dist/esm/util/DataReader.d.ts.map +1 -1
  85. package/dist/esm/util/DataReader.js.map +1 -1
  86. package/dist/esm/util/DataWriter.d.ts +2 -2
  87. package/dist/esm/util/DataWriter.d.ts.map +1 -1
  88. package/dist/esm/util/DataWriter.js.map +1 -1
  89. package/dist/esm/util/Ip.d.ts +1 -0
  90. package/dist/esm/util/Ip.d.ts.map +1 -1
  91. package/dist/esm/util/Ip.js +45 -0
  92. package/dist/esm/util/Ip.js.map +1 -1
  93. package/dist/esm/util/Map.d.ts +24 -0
  94. package/dist/esm/util/Map.d.ts.map +1 -0
  95. package/dist/esm/util/Map.js +52 -0
  96. package/dist/esm/util/Map.js.map +6 -0
  97. package/dist/esm/util/Set.d.ts +1 -0
  98. package/dist/esm/util/Set.d.ts.map +1 -1
  99. package/dist/esm/util/Set.js +14 -5
  100. package/dist/esm/util/Set.js.map +2 -2
  101. package/dist/esm/util/index.d.ts +1 -0
  102. package/dist/esm/util/index.d.ts.map +1 -1
  103. package/dist/esm/util/index.js +1 -0
  104. package/dist/esm/util/index.js.map +1 -1
  105. package/package.json +2 -2
  106. package/src/codec/DerCodec.ts +5 -5
  107. package/src/codec/DnsCodec.ts +14 -14
  108. package/src/net/Network.ts +2 -0
  109. package/src/net/UdpChannel.ts +6 -2
  110. package/src/net/UdpInterface.ts +36 -17
  111. package/src/net/UdpMulticastServer.ts +8 -7
  112. package/src/net/mock/MockUdpChannel.ts +8 -0
  113. package/src/time/Time.ts +10 -0
  114. package/src/util/DataReadQueue.ts +4 -0
  115. package/src/util/DataReader.ts +2 -2
  116. package/src/util/DataWriter.ts +2 -2
  117. package/src/util/Ip.ts +50 -0
  118. package/src/util/Map.ts +65 -0
  119. package/src/util/Set.ts +13 -1
  120. package/src/util/index.ts +1 -0
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { InternalError, NotImplementedError, UnexpectedDataError } from "../MatterError.js";
7
- import { Bytes, Endian } from "../util/Bytes.js";
7
+ import { Bytes } from "../util/Bytes.js";
8
8
  import { DataReader } from "../util/DataReader.js";
9
9
  import { DataWriter } from "../util/DataWriter.js";
10
10
  import { isIPv4, isIPv6 } from "../util/Ip.js";
@@ -77,7 +77,7 @@ var DnsRecordClass = /* @__PURE__ */ ((DnsRecordClass2) => {
77
77
  class DnsCodec {
78
78
  static decode(message) {
79
79
  try {
80
- const reader = new DataReader(message, Endian.Big);
80
+ const reader = new DataReader(message);
81
81
  const transactionId = reader.readUInt16();
82
82
  const messageType = reader.readUInt16();
83
83
  const queriesCount = reader.readUInt16();
@@ -130,7 +130,7 @@ class DnsCodec {
130
130
  throw new UnexpectedDataError(`QNAME pointer loop detected. Index ${reader.offset} visited twice.`);
131
131
  }
132
132
  visited.add(reader.offset);
133
- const messageReader = new DataReader(message, Endian.Big);
133
+ const messageReader = new DataReader(message);
134
134
  const qNameItems = new Array();
135
135
  while (true) {
136
136
  const itemLength = reader.readUInt8();
@@ -156,7 +156,7 @@ class DnsCodec {
156
156
  static decodeRecordValue(valueBytes, recordType, message) {
157
157
  switch (recordType) {
158
158
  case 12 /* PTR */:
159
- return this.decodeQName(new DataReader(valueBytes, Endian.Big), message);
159
+ return this.decodeQName(new DataReader(valueBytes), message);
160
160
  case 33 /* SRV */:
161
161
  return this.decodeSrvRecord(valueBytes, message);
162
162
  case 16 /* TXT */:
@@ -170,7 +170,7 @@ class DnsCodec {
170
170
  }
171
171
  }
172
172
  static decodeSrvRecord(valueBytes, message) {
173
- const reader = new DataReader(valueBytes, Endian.Big);
173
+ const reader = new DataReader(valueBytes);
174
174
  const priority = reader.readUInt16();
175
175
  const weight = reader.readUInt16();
176
176
  const port = reader.readUInt16();
@@ -178,7 +178,7 @@ class DnsCodec {
178
178
  return { priority, weight, port, target };
179
179
  }
180
180
  static decodeTxtRecord(valueBytes) {
181
- const reader = new DataReader(valueBytes, Endian.Big);
181
+ const reader = new DataReader(valueBytes);
182
182
  const result = new Array();
183
183
  let bytesRead = 0;
184
184
  while (bytesRead < valueBytes.length) {
@@ -189,7 +189,7 @@ class DnsCodec {
189
189
  return result;
190
190
  }
191
191
  static decodeAaaaRecord(valueBytes) {
192
- const reader = new DataReader(valueBytes, Endian.Big);
192
+ const reader = new DataReader(valueBytes);
193
193
  const ipItems = new Array();
194
194
  for (let i = 0; i < 8; i++) {
195
195
  ipItems.push(reader.readUInt16().toString(16));
@@ -213,7 +213,7 @@ class DnsCodec {
213
213
  return ipItems.join(":");
214
214
  }
215
215
  static decodeARecord(valueBytes) {
216
- const reader = new DataReader(valueBytes, Endian.Big);
216
+ const reader = new DataReader(valueBytes);
217
217
  const ipItems = new Array();
218
218
  for (let i = 0; i < 4; i++) {
219
219
  ipItems.push(reader.readUInt8().toString());
@@ -232,7 +232,7 @@ class DnsCodec {
232
232
  if (queries.length > 0 && messageType !== 0 /* Query */ && messageType !== 512 /* TruncatedQuery */)
233
233
  throw new InternalError("Queries can only be included in query messages!");
234
234
  if (authorities.length > 0) throw new NotImplementedError("Authority answers are not supported yet!");
235
- const writer = new DataWriter(Endian.Big);
235
+ const writer = new DataWriter();
236
236
  writer.writeUInt16(transactionId);
237
237
  writer.writeUInt16(messageType);
238
238
  writer.writeUInt16(queries.length);
@@ -255,7 +255,7 @@ class DnsCodec {
255
255
  }
256
256
  static encodeRecord(record) {
257
257
  const { name, recordType, recordClass, ttl, value, flushCache = false } = record;
258
- const writer = new DataWriter(Endian.Big);
258
+ const writer = new DataWriter();
259
259
  writer.writeByteArray(this.encodeQName(name));
260
260
  writer.writeUInt16(recordType);
261
261
  writer.writeUInt16(recordClass | (flushCache ? 32768 : 0));
@@ -284,7 +284,7 @@ class DnsCodec {
284
284
  }
285
285
  static encodeARecord(ip) {
286
286
  if (!isIPv4(ip)) throw new UnexpectedDataError(`Invalid A Record value: ${ip}`);
287
- const writer = new DataWriter(Endian.Big);
287
+ const writer = new DataWriter();
288
288
  ip.split(".").forEach((part) => {
289
289
  writer.writeUInt8(parseInt(part));
290
290
  });
@@ -292,7 +292,7 @@ class DnsCodec {
292
292
  }
293
293
  static encodeAaaaRecord(ip) {
294
294
  if (!isIPv6(ip)) throw new UnexpectedDataError(`Invalid AAAA Record value: ${ip}`);
295
- const writer = new DataWriter(Endian.Big);
295
+ const writer = new DataWriter();
296
296
  const parts = ip.split(":");
297
297
  parts.forEach((part) => {
298
298
  if (part === "") {
@@ -306,7 +306,7 @@ class DnsCodec {
306
306
  return writer.toByteArray();
307
307
  }
308
308
  static encodeTxtRecord(entries) {
309
- const writer = new DataWriter(Endian.Big);
309
+ const writer = new DataWriter();
310
310
  entries.forEach((entry) => {
311
311
  const entryData = Bytes.fromString(entry);
312
312
  writer.writeUInt8(entryData.length);
@@ -315,7 +315,7 @@ class DnsCodec {
315
315
  return writer.toByteArray();
316
316
  }
317
317
  static encodeSrvRecord({ priority, weight, port, target }) {
318
- const writer = new DataWriter(Endian.Big);
318
+ const writer = new DataWriter();
319
319
  writer.writeUInt16(priority);
320
320
  writer.writeUInt16(weight);
321
321
  writer.writeUInt16(port);
@@ -323,7 +323,7 @@ class DnsCodec {
323
323
  return writer.toByteArray();
324
324
  }
325
325
  static encodeQName(qname) {
326
- const writer = new DataWriter(Endian.Big);
326
+ const writer = new DataWriter();
327
327
  if (qname !== void 0 && qname.length > 0) {
328
328
  qname.split(".").forEach((label) => {
329
329
  const labelData = Bytes.fromString(label);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/codec/DnsCodec.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["DnsMessageType", "DnsRecordType", "DnsRecordClass"]
6
6
  }
@@ -10,6 +10,7 @@ export declare class NetworkError extends MatterError {
10
10
  }
11
11
  export declare class NoAddressAvailableError extends NetworkError {
12
12
  }
13
+ export declare const STANDARD_MATTER_PORT = 5540;
13
14
  /**
14
15
  * @see {@link MatterSpecification.v11.Core} § 11.11.4.4
15
16
  * Duplicated from the GeneralDiagnostics cluster to avoid circular dependencies.
@@ -1 +1 @@
1
- {"version":3,"file":"Network.d.ts","sourceRoot":"","sources":["../../../src/net/Network.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,qBAAa,YAAa,SAAQ,WAAW;CAAG;AAEhD,qBAAa,uBAAwB,SAAQ,YAAY;CAAG;AAE5D;;;GAGG;AACH,oBAAY,aAAa;IACrB;;OAEG;IACH,WAAW,IAAI;IAEf;;OAEG;IACH,IAAI,IAAI;IAER;;OAEG;IACH,QAAQ,IAAI;IAEZ;;OAEG;IACH,QAAQ,IAAI;IAEZ;;OAEG;IACH,MAAM,IAAI;CACb;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAElF,8BAAsB,OAAO;IAEzB,MAAM,CAAC,GAAG,EAAE,MAAM,OAAO,CAEvB;IAEF,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,gBAAgB,EAAE,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC;IAC/F,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAC1F,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAEpE,KAAK;CAGd"}
1
+ {"version":3,"file":"Network.d.ts","sourceRoot":"","sources":["../../../src/net/Network.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,qBAAa,YAAa,SAAQ,WAAW;CAAG;AAEhD,qBAAa,uBAAwB,SAAQ,YAAY;CAAG;AAE5D,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC;;;GAGG;AACH,oBAAY,aAAa;IACrB;;OAEG;IACH,WAAW,IAAI;IAEf;;OAEG;IACH,IAAI,IAAI;IAER;;OAEG;IACH,QAAQ,IAAI;IAEZ;;OAEG;IACH,QAAQ,IAAI;IAEZ;;OAEG;IACH,MAAM,IAAI;CACb;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAElF,8BAAsB,OAAO;IAEzB,MAAM,CAAC,GAAG,EAAE,MAAM,OAAO,CAEvB;IAEF,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,gBAAgB,EAAE,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC;IAC/F,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAC1F,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAEpE,KAAK;CAGd"}
@@ -8,6 +8,7 @@ class NetworkError extends MatterError {
8
8
  }
9
9
  class NoAddressAvailableError extends NetworkError {
10
10
  }
11
+ const STANDARD_MATTER_PORT = 5540;
11
12
  var InterfaceType = /* @__PURE__ */ ((InterfaceType2) => {
12
13
  InterfaceType2[InterfaceType2["Unspecified"] = 0] = "Unspecified";
13
14
  InterfaceType2[InterfaceType2["WiFi"] = 1] = "WiFi";
@@ -28,6 +29,7 @@ export {
28
29
  InterfaceType,
29
30
  Network,
30
31
  NetworkError,
31
- NoAddressAvailableError
32
+ NoAddressAvailableError,
33
+ STANDARD_MATTER_PORT
32
34
  };
33
35
  //# sourceMappingURL=Network.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/net/Network.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa,uBAAuB;AAItC,MAAM,qBAAqB,YAAY;AAAC;AAExC,MAAM,gCAAgC,aAAa;AAAC;AAMpD,IAAK,gBAAL,kBAAKA,mBAAL;AAIH,EAAAA,8BAAA,iBAAc,KAAd;AAKA,EAAAA,8BAAA,UAAO,KAAP;AAKA,EAAAA,8BAAA,cAAW,KAAX;AAKA,EAAAA,8BAAA,cAAW,KAAX;AAKA,EAAAA,8BAAA,YAAS,KAAT;AAxBQ,SAAAA;AAAA,GAAA;AAwCL,MAAe,QAAQ;AAAA;AAAA,EAE1B,OAAO,MAAqB,MAAM;AAC9B,UAAM,IAAI,gBAAgB,wBAAwB;AAAA,EACtD;AAAA,EAMA,MAAM,QAAQ;AAAA,EAEd;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa,uBAAuB;AAItC,MAAM,qBAAqB,YAAY;AAAC;AAExC,MAAM,gCAAgC,aAAa;AAAC;AAEpD,MAAM,uBAAuB;AAM7B,IAAK,gBAAL,kBAAKA,mBAAL;AAIH,EAAAA,8BAAA,iBAAc,KAAd;AAKA,EAAAA,8BAAA,UAAO,KAAP;AAKA,EAAAA,8BAAA,cAAW,KAAX;AAKA,EAAAA,8BAAA,cAAW,KAAX;AAKA,EAAAA,8BAAA,YAAS,KAAT;AAxBQ,SAAAA;AAAA,GAAA;AAwCL,MAAe,QAAQ;AAAA;AAAA,EAE1B,OAAO,MAAqB,MAAM;AAC9B,UAAM,IAAI,gBAAgB,wBAAwB;AAAA,EACtD;AAAA,EAMA,MAAM,QAAQ;AAAA,EAEd;AACJ;",
5
5
  "names": ["InterfaceType"]
6
6
  }
@@ -3,19 +3,22 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { MaybePromise } from "#util/index.js";
6
7
  import { ChannelType } from "./Channel.js";
7
8
  import { TransportInterface } from "./TransportInterface.js";
8
9
  /** @see {@link MatterSpecification.v12.Core} § 4.4.4 */
9
10
  export declare const MAX_UDP_MESSAGE_SIZE: number;
11
+ export type UdpSocketType = "udp4" | "udp6";
10
12
  export interface UdpChannelOptions {
11
13
  listeningPort?: number;
12
- type: "udp4" | "udp6";
14
+ type: UdpSocketType;
13
15
  listeningAddress?: string;
14
16
  netInterface?: string;
15
- membershipAddresses?: string[];
16
17
  }
17
18
  export interface UdpChannel {
18
19
  maxPayloadSize: number;
20
+ addMembership(address: string): MaybePromise<void>;
21
+ dropMembership(address: string): MaybePromise<void>;
19
22
  onData(listener: (netInterface: string | undefined, peerAddress: string, peerPort: number, data: Uint8Array) => void): TransportInterface.Listener;
20
23
  send(host: string, port: number, data: Uint8Array): Promise<void>;
21
24
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"UdpChannel.d.ts","sourceRoot":"","sources":["../../../src/net/UdpChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CACF,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,GAC9G,kBAAkB,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,IAAI,MAAM,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1D"}
1
+ {"version":3,"file":"UdpChannel.d.ts","sourceRoot":"","sources":["../../../src/net/UdpChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CACF,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,GAC9G,kBAAkB,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,IAAI,MAAM,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1D"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/net/UdpChannel.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,MAAM,uBAAuB,OAAO;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,uBAAuB,OAAO;",
5
5
  "names": []
6
6
  }
@@ -10,19 +10,20 @@ import { ServerAddress, ServerAddressIp } from "./ServerAddress.js";
10
10
  import { TransportInterface } from "./TransportInterface.js";
11
11
  import { UdpChannel } from "./UdpChannel.js";
12
12
  export declare class UdpInterface implements NetInterface {
13
- private readonly server;
13
+ #private;
14
14
  static create(network: Network, type: "udp4" | "udp6", port?: number, host?: string, netInterface?: string): Promise<UdpInterface>;
15
15
  constructor(server: UdpChannel);
16
+ protected get server(): UdpChannel;
16
17
  supports(type: ChannelType, address: string): boolean;
17
18
  openChannel(address: ServerAddress): Promise<UdpConnection>;
18
19
  onData(listener: (channel: Channel<Uint8Array>, messageBytes: Uint8Array) => void): TransportInterface.Listener;
19
20
  get port(): number;
20
21
  close(): Promise<void>;
22
+ addMembership(address: string): import("../index.js").MaybePromise<void>;
23
+ dropMembership(address: string): import("../index.js").MaybePromise<void>;
21
24
  }
22
- declare class UdpConnection implements IpNetworkChannel<Uint8Array> {
23
- private readonly server;
24
- private readonly peerAddress;
25
- private readonly peerPort;
25
+ export declare class UdpConnection implements IpNetworkChannel<Uint8Array> {
26
+ #private;
26
27
  readonly isReliable = false;
27
28
  readonly type = ChannelType.UDP;
28
29
  constructor(server: UdpChannel, peerAddress: string, peerPort: number);
@@ -32,5 +33,4 @@ declare class UdpConnection implements IpNetworkChannel<Uint8Array> {
32
33
  get networkAddress(): ServerAddressIp;
33
34
  close(): Promise<void>;
34
35
  }
35
- export {};
36
36
  //# sourceMappingURL=UdpInterface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpInterface.d.ts","sourceRoot":"","sources":["../../../src/net/UdpInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,YAAa,YAAW,YAAY;IAOjC,OAAO,CAAC,QAAQ,CAAC,MAAM;WANtB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;gBAMnF,MAAM,EAAE,UAAU;IAE/C,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;IAIrC,WAAW,CAAC,OAAO,EAAE,aAAa;IAQxC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,UAAU,KAAK,IAAI,GAAG,kBAAkB,CAAC,QAAQ;IAM/G,IAAI,IAAI,WAEP;IAED,KAAK;CAGR;AAED,cAAM,aAAc,YAAW,gBAAgB,CAAC,UAAU,CAAC;IAKnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAN7B,QAAQ,CAAC,UAAU,SAAS;IAC5B,QAAQ,CAAC,IAAI,mBAAmB;gBAGX,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM;IAGrC,IAAI,cAAc,WAEjB;IAED,IAAI,CAAC,IAAI,EAAE,UAAU;IAIrB,IAAI,IAAI,WAEP;IAED,IAAI,cAAc,IAAI,eAAe,CAEpC;IAEK,KAAK;CAGd"}
1
+ {"version":3,"file":"UdpInterface.d.ts","sourceRoot":"","sources":["../../../src/net/UdpInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,YAAa,YAAW,YAAY;;WAGhC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;gBAMpG,MAAM,EAAE,UAAU;IAI9B,SAAS,KAAK,MAAM,eAEnB;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;IAIrC,WAAW,CAAC,OAAO,EAAE,aAAa;IAQxC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,UAAU,KAAK,IAAI,GAAG,kBAAkB,CAAC,QAAQ;IAM/G,IAAI,IAAI,WAEP;IAED,KAAK;IAIL,aAAa,CAAC,OAAO,EAAE,MAAM;IAI7B,cAAc,CAAC,OAAO,EAAE,MAAM;CAGjC;AAED,qBAAa,aAAc,YAAW,gBAAgB,CAAC,UAAU,CAAC;;IAC9D,QAAQ,CAAC,UAAU,SAAS;IAC5B,QAAQ,CAAC,IAAI,mBAAmB;gBAKpB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAMrE,IAAI,cAAc,WAEjB;IAED,IAAI,CAAC,IAAI,EAAE,UAAU;IAIrB,IAAI,IAAI,WAEP;IAED,IAAI,cAAc,IAAI,eAAe,CAEpC;IAEK,KAAK;CAGd"}
@@ -6,60 +6,74 @@
6
6
  import { ChannelType } from "./Channel.js";
7
7
  import { NetworkError } from "./Network.js";
8
8
  class UdpInterface {
9
- constructor(server) {
10
- this.server = server;
11
- }
9
+ #server;
12
10
  static async create(network, type, port, host, netInterface) {
13
11
  return new UdpInterface(
14
12
  await network.createUdpChannel({ listeningPort: port, type, netInterface, listeningAddress: host })
15
13
  );
16
14
  }
15
+ constructor(server) {
16
+ this.#server = server;
17
+ }
18
+ get server() {
19
+ return this.#server;
20
+ }
17
21
  supports(type, address) {
18
- return this.server.supports(type, address);
22
+ return this.#server.supports(type, address);
19
23
  }
20
24
  async openChannel(address) {
21
25
  if (address.type !== "udp") {
22
26
  throw new NetworkError(`Unsupported address type ${address.type}`);
23
27
  }
24
28
  const { ip, port } = address;
25
- return Promise.resolve(new UdpConnection(this.server, ip, port));
29
+ return Promise.resolve(new UdpConnection(this.#server, ip, port));
26
30
  }
27
31
  onData(listener) {
28
- return this.server.onData(
29
- (_netInterface, peerHost, peerPort, data) => listener(new UdpConnection(this.server, peerHost, peerPort), data)
32
+ return this.#server.onData(
33
+ (_netInterface, peerHost, peerPort, data) => listener(new UdpConnection(this.#server, peerHost, peerPort), data)
30
34
  );
31
35
  }
32
36
  get port() {
33
- return this.server.port;
37
+ return this.#server.port;
34
38
  }
35
39
  close() {
36
- return this.server.close();
40
+ return this.#server.close();
41
+ }
42
+ addMembership(address) {
43
+ return this.#server.addMembership(address);
44
+ }
45
+ dropMembership(address) {
46
+ return this.#server.dropMembership(address);
37
47
  }
38
48
  }
39
49
  class UdpConnection {
40
- constructor(server, peerAddress, peerPort) {
41
- this.server = server;
42
- this.peerAddress = peerAddress;
43
- this.peerPort = peerPort;
44
- }
45
50
  isReliable = false;
46
51
  type = ChannelType.UDP;
52
+ #server;
53
+ #peerAddress;
54
+ #peerPort;
55
+ constructor(server, peerAddress, peerPort) {
56
+ this.#server = server;
57
+ this.#peerAddress = peerAddress;
58
+ this.#peerPort = peerPort;
59
+ }
47
60
  get maxPayloadSize() {
48
- return this.server.maxPayloadSize;
61
+ return this.#server.maxPayloadSize;
49
62
  }
50
63
  send(data) {
51
- return this.server.send(this.peerAddress, this.peerPort, data);
64
+ return this.#server.send(this.#peerAddress, this.#peerPort, data);
52
65
  }
53
66
  get name() {
54
- return `${this.type}://[${this.peerAddress}]:${this.peerPort}`;
67
+ return `${this.type}://[${this.#peerAddress}]:${this.#peerPort}`;
55
68
  }
56
69
  get networkAddress() {
57
- return { type: "udp", ip: this.peerAddress, port: this.peerPort };
70
+ return { type: "udp", ip: this.#peerAddress, port: this.#peerPort };
58
71
  }
59
72
  async close() {
60
73
  }
61
74
  }
62
75
  export {
76
+ UdpConnection,
63
77
  UdpInterface
64
78
  };
65
79
  //# sourceMappingURL=UdpInterface.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/net/UdpInterface.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAkB,mBAAqC;AAEvD,SAAkB,oBAAoB;AAK/B,MAAM,aAAqC;AAAA,EAO9C,YAA6B,QAAoB;AAApB;AAAA,EAAqB;AAAA,EANlD,aAAa,OAAO,SAAkB,MAAuB,MAAe,MAAe,cAAuB;AAC9G,WAAO,IAAI;AAAA,MACP,MAAM,QAAQ,iBAAiB,EAAE,eAAe,MAAM,MAAM,cAAc,kBAAkB,KAAK,CAAC;AAAA,IACtG;AAAA,EACJ;AAAA,EAIA,SAAS,MAAmB,SAAiB;AACzC,WAAO,KAAK,OAAO,SAAS,MAAM,OAAO;AAAA,EAC7C;AAAA,EAEA,MAAM,YAAY,SAAwB;AACtC,QAAI,QAAQ,SAAS,OAAO;AACxB,YAAM,IAAI,aAAa,4BAA4B,QAAQ,IAAI,EAAE;AAAA,IACrE;AACA,UAAM,EAAE,IAAI,KAAK,IAAI;AACrB,WAAO,QAAQ,QAAQ,IAAI,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC;AAAA,EACnE;AAAA,EAEA,OAAO,UAAyG;AAC5G,WAAO,KAAK,OAAO;AAAA,MAAO,CAAC,eAAe,UAAU,UAAU,SAC1D,SAAS,IAAI,cAAc,KAAK,QAAQ,UAAU,QAAQ,GAAG,IAAI;AAAA,IACrE;AAAA,EACJ;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,QAAQ;AACJ,WAAO,KAAK,OAAO,MAAM;AAAA,EAC7B;AACJ;AAEA,MAAM,cAAsD;AAAA,EAIxD,YACqB,QACA,aACA,UACnB;AAHmB;AACA;AACA;AAAA,EAClB;AAAA,EAPM,aAAa;AAAA,EACb,OAAO,YAAY;AAAA,EAQ5B,IAAI,iBAAiB;AACjB,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,KAAK,MAAkB;AACnB,WAAO,KAAK,OAAO,KAAK,KAAK,aAAa,KAAK,UAAU,IAAI;AAAA,EACjE;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,GAAG,KAAK,IAAI,OAAO,KAAK,WAAW,KAAK,KAAK,QAAQ;AAAA,EAChE;AAAA,EAEA,IAAI,iBAAkC;AAClC,WAAO,EAAE,MAAM,OAAO,IAAI,KAAK,aAAa,MAAM,KAAK,SAAS;AAAA,EACpE;AAAA,EAEA,MAAM,QAAQ;AAAA,EAEd;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAkB,mBAAqC;AAEvD,SAAkB,oBAAoB;AAK/B,MAAM,aAAqC;AAAA,EACrC;AAAA,EAET,aAAa,OAAO,SAAkB,MAAuB,MAAe,MAAe,cAAuB;AAC9G,WAAO,IAAI;AAAA,MACP,MAAM,QAAQ,iBAAiB,EAAE,eAAe,MAAM,MAAM,cAAc,kBAAkB,KAAK,CAAC;AAAA,IACtG;AAAA,EACJ;AAAA,EAEA,YAAY,QAAoB;AAC5B,SAAK,UAAU;AAAA,EACnB;AAAA,EAEA,IAAc,SAAS;AACnB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,SAAS,MAAmB,SAAiB;AACzC,WAAO,KAAK,QAAQ,SAAS,MAAM,OAAO;AAAA,EAC9C;AAAA,EAEA,MAAM,YAAY,SAAwB;AACtC,QAAI,QAAQ,SAAS,OAAO;AACxB,YAAM,IAAI,aAAa,4BAA4B,QAAQ,IAAI,EAAE;AAAA,IACrE;AACA,UAAM,EAAE,IAAI,KAAK,IAAI;AACrB,WAAO,QAAQ,QAAQ,IAAI,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC;AAAA,EACpE;AAAA,EAEA,OAAO,UAAyG;AAC5G,WAAO,KAAK,QAAQ;AAAA,MAAO,CAAC,eAAe,UAAU,UAAU,SAC3D,SAAS,IAAI,cAAc,KAAK,SAAS,UAAU,QAAQ,GAAG,IAAI;AAAA,IACtE;AAAA,EACJ;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,QAAQ;AAAA,EACxB;AAAA,EAEA,QAAQ;AACJ,WAAO,KAAK,QAAQ,MAAM;AAAA,EAC9B;AAAA,EAEA,cAAc,SAAiB;AAC3B,WAAO,KAAK,QAAQ,cAAc,OAAO;AAAA,EAC7C;AAAA,EAEA,eAAe,SAAiB;AAC5B,WAAO,KAAK,QAAQ,eAAe,OAAO;AAAA,EAC9C;AACJ;AAEO,MAAM,cAAsD;AAAA,EACtD,aAAa;AAAA,EACb,OAAO,YAAY;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,QAAoB,aAAqB,UAAkB;AACnE,SAAK,UAAU;AACf,SAAK,eAAe;AACpB,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,IAAI,iBAAiB;AACjB,WAAO,KAAK,QAAQ;AAAA,EACxB;AAAA,EAEA,KAAK,MAAkB;AACnB,WAAO,KAAK,QAAQ,KAAK,KAAK,cAAc,KAAK,WAAW,IAAI;AAAA,EACpE;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,GAAG,KAAK,IAAI,OAAO,KAAK,YAAY,KAAK,KAAK,SAAS;AAAA,EAClE;AAAA,EAEA,IAAI,iBAAkC;AAClC,WAAO,EAAE,MAAM,OAAO,IAAI,KAAK,cAAc,MAAM,KAAK,UAAU;AAAA,EACtE;AAAA,EAEA,MAAM,QAAQ;AAAA,EAEd;AACJ;",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UdpMulticastServer.d.ts","sourceRoot":"","sources":["../../../src/net/UdpMulticastServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,OAAO,EAA2B,MAAM,cAAc,CAAC;AAKhE,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,kBAAkB;IAqDvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;WA1DpB,MAAM,CAAC,EAChB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,OAAO,GACV,EAAE,yBAAyB;IAsC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAKhC;IAEF,OAAO;IAUP,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI;IAiBtF,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;YA+C/D,sBAAsB;IAQ9B,KAAK;CAKd"}
1
+ {"version":3,"file":"UdpMulticastServer.d.ts","sourceRoot":"","sources":["../../../src/net/UdpMulticastServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,OAAO,EAA2B,MAAM,cAAc,CAAC;AAKhE,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,kBAAkB;IAsDvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;WA3DpB,MAAM,CAAC,EAChB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,OAAO,GACV,EAAE,yBAAyB;IAuC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAKhC;IAEF,OAAO;IAUP,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI;IAiBtF,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;YA+C/D,sBAAsB;IAQ9B,KAAK;CAKd"}
@@ -33,27 +33,28 @@ class UdpMulticastServer {
33
33
  ipv4UdpChannel = await network.createUdpChannel({
34
34
  type: "udp4",
35
35
  netInterface,
36
- listeningPort,
37
- membershipAddresses: [broadcastAddressIpv4]
36
+ listeningPort
38
37
  });
38
+ await ipv4UdpChannel.addMembership(broadcastAddressIpv4);
39
39
  } catch (error) {
40
40
  NoAddressAvailableError.accept(error);
41
41
  logger.info(`IPv4 UDP channel not created because IPv4 is not available: ${asError(error).message}`);
42
42
  }
43
43
  }
44
44
  try {
45
+ const ipv6UdpChannel = await network.createUdpChannel({
46
+ type: "udp6",
47
+ netInterface,
48
+ listeningPort
49
+ });
50
+ await ipv6UdpChannel.addMembership(broadcastAddressIpv6);
45
51
  return new UdpMulticastServer(
46
52
  network,
47
53
  broadcastAddressIpv4,
48
54
  broadcastAddressIpv6,
49
55
  listeningPort,
50
56
  ipv4UdpChannel,
51
- await network.createUdpChannel({
52
- type: "udp6",
53
- netInterface,
54
- listeningPort,
55
- membershipAddresses: [broadcastAddressIpv6]
56
- }),
57
+ ipv6UdpChannel,
57
58
  netInterface
58
59
  );
59
60
  } catch (error) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/net/UdpMulticastServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,4BAA4B;AACrC,SAAS,cAAc;AACvB,SAAS,aAAa;AACtB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAkB,+BAA+B;AAGjD,MAAM,SAAS,OAAO,IAAI,oBAAoB;AAUvC,MAAM,mBAAmB;AAAA,EAqDpB,YACa,SACA,sBACA,sBACA,eACA,YACA,YACA,cACnB;AAPmB;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,EAClB;AAAA,EA5DH,aAAa,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAA8B;AAC1B,QAAI,iBAAyC;AAC7C,QAAI,yBAAyB,QAAW;AACpC,UAAI;AACA,yBAAiB,MAAM,QAAQ,iBAAiB;AAAA,UAC5C,MAAM;AAAA,UACN;AAAA,UACA;AAAA,QACJ,CAAC;AACD,cAAM,eAAe,cAAc,oBAAoB;AAAA,MAC3D,SAAS,OAAO;AACZ,gCAAwB,OAAO,KAAK;AACpC,eAAO,KAAK,+DAA+D,QAAQ,KAAK,EAAE,OAAO,EAAE;AAAA,MACvG;AAAA,IACJ;AAEA,QAAI;AACA,YAAM,iBAAiB,MAAM,QAAQ,iBAAiB;AAAA,QAClD,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACJ,CAAC;AACD,YAAM,eAAe,cAAc,oBAAoB;AACvD,aAAO,IAAI;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAAA,IACJ,SAAS,OAAO;AACZ,8BAAwB,OAAO,KAAK;AACpC,aAAO,KAAK,uFAAuF;AACnG,YAAM;AAAA,IACV;AAAA,EACJ;AAAA,EAEiB,oBAAoB,IAAI;AAAA,IACrC;AAAA,IACA,CAAC,cAAc,SAAS,KAAK,uBAAuB,cAAc,IAAI;AAAA,IACtE,IAAI,KAAK;AAAA,IACT,OAAO,eAAe,aAAa,MAAM,SAAS,MAAM;AAAA,EAC5D;AAAA,EAYA,UAAU,UAAoF;AAC1F,SAAK,YAAY,OAAO,CAAC,cAAc,aAAa,OAAO,YAAY;AACnE,UAAI,iBAAiB,QAAW;AAE5B;AAAA,MACJ;AACA,eAAS,SAAS,aAAa,YAAY;AAAA,IAC/C,CAAC;AACD,SAAK,WAAW,OAAO,CAAC,cAAc,aAAa,OAAO,YAAY;AAClE,UAAI,iBAAiB,QAAW;AAE5B;AAAA,MACJ;AACA,eAAS,SAAS,aAAa,YAAY;AAAA,IAC/C,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,KAAK,SAAqB,cAAuB,eAAwB;AAC3E,mBAAe,gBAAgB,KAAK;AAGpC,QAAI,kBAAkB,UAAa,iBAAiB,QAAW;AAC3D,UAAI;AACA,eACI,MAAM,KAAK,kBAAkB,IAAI,cAAc,OAAO,aAAa,CAAC,GACtE,KAAK,eAAe,KAAK,eAAe,OAAO;AAAA,MACrD,SAAS,OAAO;AACZ,eAAO,KAAK,GAAG,YAAY,IAAI,aAAa,KAAK,QAAQ,KAAK,EAAE,OAAO,EAAE;AAAA,MAC7E;AAAA,IACJ,OAAO;AACH,YAAM,gBACF,iBAAiB,SAAY,CAAC,EAAE,MAAM,aAAa,CAAC,IAAI,MAAM,KAAK,QAAQ,iBAAiB;AAChG,YAAM,qBAAqB;AAAA,QACvB,cAAc,IAAI,OAAO,EAAE,MAAMA,cAAa,MAAM;AAChD,gBAAM,EAAE,MAAM,KAAK,IAAK,MAAM,KAAK,QAAQ,SAASA,aAAY,KAAM;AAAA,YAClE,KAAK;AAAA,YACL,MAAM,CAAC;AAAA,YACP,MAAM,CAAC;AAAA,UACX;AACA,gBAAM,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI;AAC7B,gBAAM,qBAAqB;AAAA,YACvB,IAAI,IAAI,OAAM,OAAM;AAChB,oBAAM,OAAO,KAAK,SAAS,EAAE;AAC7B,oBAAM,kBAAkB,OAAO,KAAK,uBAAuB,KAAK;AAChE,kBAAI,mBAAmB,QAAW;AAE9B;AAAA,cACJ;AACA,kBAAI;AACA,uBACI,MAAM,KAAK,kBAAkB,IAAIA,eAAc,IAAI,GACrD,KAAK,iBAAiB,KAAK,eAAe,OAAO;AAAA,cACvD,SAAS,OAAO;AACZ,uBAAO,KAAK,GAAGA,aAAY,KAAK,QAAQ,KAAK,EAAE,OAAO,EAAE;AAAA,cAC5D;AAAA,YACJ,CAAC;AAAA,YACD,oDAAoDA,aAAY;AAAA,UACpE;AAAA,QACJ,CAAC;AAAA,QACD;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAc,uBAAuB,cAAsB,MAAmC;AAC1F,WAAO,MAAM,KAAK,QAAQ,iBAAiB;AAAA,MACvC,MAAM,OAAO,SAAS;AAAA,MACtB,eAAe,KAAK;AAAA,MACpB;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,KAAK,YAAY,MAAM;AAC7B,UAAM,KAAK,WAAW,MAAM;AAC5B,UAAM,KAAK,kBAAkB,MAAM;AAAA,EACvC;AACJ;",
5
5
  "names": ["netInterface"]
6
6
  }
@@ -17,5 +17,7 @@ export declare class MockUdpChannel implements UdpChannel {
17
17
  [Symbol.asyncDispose](): Promise<void>;
18
18
  get port(): number;
19
19
  supports(type: ChannelType, _address: string): type is ChannelType.UDP;
20
+ addMembership(_address: string): void;
21
+ dropMembership(_address: string): void;
20
22
  }
21
23
  //# sourceMappingURL=MockUdpChannel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MockUdpChannel.d.ts","sourceRoot":"","sources":["../../../../src/net/mock/MockUdpChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAwB,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,qBAAa,cAAe,YAAW,UAAU;;IAM7C,QAAQ,CAAC,cAAc,SAAwB;gBAEnC,OAAO,EAAE,WAAW,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,iBAAiB;IAY5G,MAAM,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI;IAMlG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAIjD,KAAK;IAOL,CAAC,MAAM,CAAC,YAAY,CAAC;IAI3B,IAAI,IAAI,WAEP;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM;CAG/C"}
1
+ {"version":3,"file":"MockUdpChannel.d.ts","sourceRoot":"","sources":["../../../../src/net/mock/MockUdpChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAwB,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,qBAAa,cAAe,YAAW,UAAU;;IAM7C,QAAQ,CAAC,cAAc,SAAwB;gBAEnC,OAAO,EAAE,WAAW,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,iBAAiB;IAY5G,MAAM,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI;IAMlG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAIjD,KAAK;IAOL,CAAC,MAAM,CAAC,YAAY,CAAC;IAI3B,IAAI,IAAI,WAEP;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM;IAI5C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIrC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAGzC"}
@@ -47,6 +47,10 @@ class MockUdpChannel {
47
47
  supports(type, _address) {
48
48
  return type === ChannelType.UDP;
49
49
  }
50
+ addMembership(_address) {
51
+ }
52
+ dropMembership(_address) {
53
+ }
50
54
  }
51
55
  export {
52
56
  MockUdpChannel
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/net/mock/MockUdpChannel.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAE7B,SAAS,4BAA2D;AAI7D,MAAM,eAAqC;AAAA,EACrC,gBAAgB,IAAI,MAAmC;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EAE1B,YAAY,SAAsB,EAAE,kBAAkB,eAAe,cAAc,KAAK,GAAsB;AAC1G,UAAM,EAAE,MAAM,KAAK,IAAI,QAAQ,SAAS,gBAAgB,OAAO;AAC/D,UAAM,eAAe,SAAS,SAAS,KAAK,CAAC,IAAK,KAAK,CAAC,KAAK,KAAK,CAAC;AACnE,QAAI,iBAAiB,QAAW;AAC5B,YAAM,IAAI,aAAa,2CAA2C;AAAA,IACtE;AACA,SAAK,gBAAgB;AACrB,SAAK,oBAAoB,QAAQ;AACjC,SAAK,oBAAoB;AACzB,SAAK,iBAAiB,iBAAiB,OAAO,KAAK,MAAM,KAAK,OAAO,IAAI,KAAK;AAAA,EAClF;AAAA,EAEA,OAAO,UAAmG;AACtG,UAAM,cAAc,KAAK,kBAAkB,UAAU,KAAK,mBAAmB,KAAK,gBAAgB,QAAQ;AAC1G,SAAK,cAAc,KAAK,WAAW;AACnC,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,KAAK,MAAc,MAAc,MAAkB;AACrD,SAAK,kBAAkB,QAAQ,KAAK,eAAe,KAAK,gBAAgB,MAAM,MAAM,IAAI;AAAA,EAC5F;AAAA,EAEA,MAAM,QAAQ;AACV,eAAW,eAAe,KAAK,eAAe;AAC1C,YAAM,YAAY,MAAM;AAAA,IAC5B;AACA,SAAK,cAAc,SAAS;AAAA,EAChC;AAAA,EAEA,OAAO,OAAO,YAAY,IAAI;AAC1B,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,SAAS,MAAmB,UAAkB;AAC1C,WAAO,SAAS,YAAY;AAAA,EAChC;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAE7B,SAAS,4BAA2D;AAI7D,MAAM,eAAqC;AAAA,EACrC,gBAAgB,IAAI,MAAmC;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EAE1B,YAAY,SAAsB,EAAE,kBAAkB,eAAe,cAAc,KAAK,GAAsB;AAC1G,UAAM,EAAE,MAAM,KAAK,IAAI,QAAQ,SAAS,gBAAgB,OAAO;AAC/D,UAAM,eAAe,SAAS,SAAS,KAAK,CAAC,IAAK,KAAK,CAAC,KAAK,KAAK,CAAC;AACnE,QAAI,iBAAiB,QAAW;AAC5B,YAAM,IAAI,aAAa,2CAA2C;AAAA,IACtE;AACA,SAAK,gBAAgB;AACrB,SAAK,oBAAoB,QAAQ;AACjC,SAAK,oBAAoB;AACzB,SAAK,iBAAiB,iBAAiB,OAAO,KAAK,MAAM,KAAK,OAAO,IAAI,KAAK;AAAA,EAClF;AAAA,EAEA,OAAO,UAAmG;AACtG,UAAM,cAAc,KAAK,kBAAkB,UAAU,KAAK,mBAAmB,KAAK,gBAAgB,QAAQ;AAC1G,SAAK,cAAc,KAAK,WAAW;AACnC,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,KAAK,MAAc,MAAc,MAAkB;AACrD,SAAK,kBAAkB,QAAQ,KAAK,eAAe,KAAK,gBAAgB,MAAM,MAAM,IAAI;AAAA,EAC5F;AAAA,EAEA,MAAM,QAAQ;AACV,eAAW,eAAe,KAAK,eAAe;AAC1C,YAAM,YAAY,MAAM;AAAA,IAC5B;AACA,SAAK,cAAc,SAAS;AAAA,EAChC;AAAA,EAEA,OAAO,OAAO,YAAY,IAAI;AAC1B,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,SAAS,MAAmB,UAAkB;AAC1C,WAAO,SAAS,YAAY;AAAA,EAChC;AAAA,EAEA,cAAc,UAAwB;AAAA,EAEtC;AAAA,EAEA,eAAe,UAAwB;AAAA,EAEvC;AACJ;",
5
5
  "names": []
6
6
  }
@@ -21,6 +21,8 @@ export declare class Time {
21
21
  static readonly now: () => Date;
22
22
  nowMs(): number;
23
23
  static readonly nowMs: () => number;
24
+ nowUs(): number;
25
+ static readonly nowUs: () => number;
24
26
  /**
25
27
  * Create a timer that will call callback after durationMs has passed.
26
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../src/time/Time.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKlD;;;;;GAKG;AACH,qBAAa,IAAI;IACb,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;IAEvB,MAAM,CAAC,OAAO;;;MAGZ;IAEF,GAAG;IAGH,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAO,IAAI,CAAqB;IAEnD,KAAK;IAGL,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAO,MAAM,CAAuB;IAEzD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK;IAG3E,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAI,MAAM,MAAM,EAAE,YAAY,MAAM,EAAE,UAAU,KAAK,CAAC,QAAQ,KAAG,KAAK,CAC1C;IAEpD;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK;IAGnF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAI,MAAM,MAAM,EAAE,YAAY,MAAM,EAAE,UAAU,KAAK,CAAC,QAAQ,KAAG,KAAK,CAC1C;IAE5D;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB;IAgB1D,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAI7C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAK5B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK;IAI9B,MAAM,KAAK,MAAM,eAEhB;CACJ;AAMD,MAAM,WAAW,KAAK;IAClB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;IAEjB,8BAA8B;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAElB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IAEnB,2CAA2C;IAC3C,UAAU,EAAE,OAAO,CAAC;IAEpB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC;IAE7B,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,KAAK,IAAI,KAAK,CAAC;IAEf,mCAAmC;IACnC,IAAI,IAAI,KAAK,CAAC;CACjB;AAED,yBAAiB,KAAK,CAAC;IACnB,KAAY,QAAQ,GAAG,MAAM,GAAG,CAAC;CACpC;AAED,qBAAa,aAAc,YAAW,KAAK;;IAUnC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO;IAVhC,SAAS,UAAS;IAElB,IAAI,QAAQ,WAEX;gBAGY,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EACV,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAChC,UAAU,EAAE,OAAO;IAShC,IAAI,OAAO,IAIU,OAAO,CAF3B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAgB3B;IAED,KAAK;IAcL,IAAI;CAMP"}
1
+ {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../src/time/Time.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKlD;;;;;GAKG;AACH,qBAAa,IAAI;IACb,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;IAEvB,MAAM,CAAC,OAAO;;;MAGZ;IAEF,GAAG;IAGH,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAO,IAAI,CAAqB;IAEnD,KAAK;IAGL,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAO,MAAM,CAAuB;IAEzD,KAAK;IAGL,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAO,MAAM,CAAuB;IAEzD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK;IAG3E,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAI,MAAM,MAAM,EAAE,YAAY,MAAM,EAAE,UAAU,KAAK,CAAC,QAAQ,KAAG,KAAK,CAC1C;IAEpD;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK;IAGnF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAI,MAAM,MAAM,EAAE,YAAY,MAAM,EAAE,UAAU,KAAK,CAAC,QAAQ,KAAG,KAAK,CAC1C;IAE5D;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB;IAgB1D,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAI7C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAK5B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK;IAI9B,MAAM,KAAK,MAAM,eAEhB;CACJ;AAWD,MAAM,WAAW,KAAK;IAClB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;IAEjB,8BAA8B;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAElB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IAEnB,2CAA2C;IAC3C,UAAU,EAAE,OAAO,CAAC;IAEpB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC;IAE7B,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,KAAK,IAAI,KAAK,CAAC;IAEf,mCAAmC;IACnC,IAAI,IAAI,KAAK,CAAC;CACjB;AAED,yBAAiB,KAAK,CAAC;IACnB,KAAY,QAAQ,GAAG,MAAM,GAAG,CAAC;CACpC;AAED,qBAAa,aAAc,YAAW,KAAK;;IAUnC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO;IAVhC,SAAS,UAAS;IAElB,IAAI,QAAQ,WAEX;gBAGY,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EACV,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAChC,UAAU,EAAE,OAAO;IAShC,IAAI,OAAO,IAIU,OAAO,CAF3B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAgB3B;IAED,KAAK;IAcL,IAAI;CAMP"}
@@ -23,6 +23,10 @@ class Time {
23
23
  return this.now().getTime();
24
24
  }
25
25
  static nowMs = () => Time.get().nowMs();
26
+ nowUs() {
27
+ return Math.floor(performance.now() + performance.timeOrigin) * 1e3;
28
+ }
29
+ static nowUs = () => Time.get().nowUs();
26
30
  /**
27
31
  * Create a timer that will call callback after durationMs has passed.
28
32
  */
@@ -69,6 +73,9 @@ class Time {
69
73
  return registry;
70
74
  }
71
75
  }
76
+ if (!performance || typeof performance.now !== "function" || typeof performance.timeOrigin !== "number") {
77
+ Time.prototype.nowUs = () => Time.nowMs() * 1e3;
78
+ }
72
79
  const time = new Time();
73
80
  Time.startup.systemMs = Time.startup.processMs = time.nowMs();
74
81
  class StandardTimer {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/time/Time.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -10,6 +10,7 @@ export declare class DataReadQueue<T> implements Stream<T> {
10
10
  #private;
11
11
  read(timeoutMs?: number): Promise<T>;
12
12
  write(data: T): Promise<void>;
13
+ get size(): number;
13
14
  /**
14
15
  * Same as write but doesn't require the await required to satisfy {@link Stream#write}.
15
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DataReadQueue.d.ts","sourceRoot":"","sources":["../../../src/util/DataReadQueue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAA4C,MAAM,EAAE,MAAM,aAAa,CAAC;AAE/E,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;;IAKxC,IAAI,CAAC,SAAS,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAkBpC,KAAK,CAAC,IAAI,EAAE,CAAC;IAInB;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC;IAWZ,KAAK;CAOR"}
1
+ {"version":3,"file":"DataReadQueue.d.ts","sourceRoot":"","sources":["../../../src/util/DataReadQueue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAA4C,MAAM,EAAE,MAAM,aAAa,CAAC;AAE/E,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;;IAKxC,IAAI,CAAC,SAAS,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAkBpC,KAAK,CAAC,IAAI,EAAE,CAAC;IAInB,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC;IAWZ,KAAK;CAOR"}
@@ -35,6 +35,9 @@ class DataReadQueue {
35
35
  async write(data) {
36
36
  this.push(data);
37
37
  }
38
+ get size() {
39
+ return this.#queue.length;
40
+ }
38
41
  /**
39
42
  * Same as write but doesn't require the await required to satisfy {@link Stream#write}.
40
43
  */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/DataReadQueue.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,uBAAuB;AAChC,SAAS,YAAmB;AAC5B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB,8BAAsC;AAE1D,MAAM,cAAsC;AAAA,EACtC,SAAS,IAAI,MAAS;AAAA,EAC/B;AAAA,EACA,UAAU;AAAA,EAEV,MAAM,KAAK,YAAY,KAAoB;AACvC,UAAM,EAAE,SAAS,UAAU,SAAS,IAAI,cAAiB;AACzD,QAAI,KAAK,QAAS,OAAM,IAAI,iBAAiB;AAC7C,UAAM,OAAO,KAAK,OAAO,MAAM;AAC/B,QAAI,SAAS,QAAW;AACpB,aAAO;AAAA,IACX;AACA,QAAI,KAAK,iBAAiB,OAAW,OAAM,IAAI,gBAAgB,oCAAoC;AACnG,SAAK,eAAe;AAAA,MAChB;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,QAAS;AAAA,QAAiB;AAAA,QAAW,MACpD,SAAS,IAAI,uBAAuB,oDAAoD,SAAS,IAAI,CAAC;AAAA,MAC1G,EAAE,MAAM;AAAA,IACZ;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,MAAM,MAAS;AACjB,SAAK,KAAK,IAAI;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKA,KAAK,MAAS;AACV,QAAI,KAAK,QAAS,OAAM,IAAI,iBAAiB;AAC7C,QAAI,KAAK,iBAAiB,QAAW;AACjC,WAAK,aAAa,cAAc,KAAK;AACrC,WAAK,aAAa,SAAS,IAAI;AAC/B,WAAK,eAAe;AACpB;AAAA,IACJ;AACA,SAAK,OAAO,KAAK,IAAI;AAAA,EACzB;AAAA,EAEA,QAAQ;AACJ,QAAI,KAAK,QAAS;AAClB,SAAK,UAAU;AACf,QAAI,KAAK,iBAAiB,OAAW;AACrC,SAAK,aAAa,cAAc,KAAK;AACrC,SAAK,aAAa,SAAS,IAAI,iBAAiB,CAAC;AAAA,EACrD;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,uBAAuB;AAChC,SAAS,YAAmB;AAC5B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB,8BAAsC;AAE1D,MAAM,cAAsC;AAAA,EACtC,SAAS,IAAI,MAAS;AAAA,EAC/B;AAAA,EACA,UAAU;AAAA,EAEV,MAAM,KAAK,YAAY,KAAoB;AACvC,UAAM,EAAE,SAAS,UAAU,SAAS,IAAI,cAAiB;AACzD,QAAI,KAAK,QAAS,OAAM,IAAI,iBAAiB;AAC7C,UAAM,OAAO,KAAK,OAAO,MAAM;AAC/B,QAAI,SAAS,QAAW;AACpB,aAAO;AAAA,IACX;AACA,QAAI,KAAK,iBAAiB,OAAW,OAAM,IAAI,gBAAgB,oCAAoC;AACnG,SAAK,eAAe;AAAA,MAChB;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,QAAS;AAAA,QAAiB;AAAA,QAAW,MACpD,SAAS,IAAI,uBAAuB,oDAAoD,SAAS,IAAI,CAAC;AAAA,MAC1G,EAAE,MAAM;AAAA,IACZ;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,MAAM,MAAS;AACjB,SAAK,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,KAAK,MAAS;AACV,QAAI,KAAK,QAAS,OAAM,IAAI,iBAAiB;AAC7C,QAAI,KAAK,iBAAiB,QAAW;AACjC,WAAK,aAAa,cAAc,KAAK;AACrC,WAAK,aAAa,SAAS,IAAI;AAC/B,WAAK,eAAe;AACpB;AAAA,IACJ;AACA,SAAK,OAAO,KAAK,IAAI;AAAA,EACzB;AAAA,EAEA,QAAQ;AACJ,QAAI,KAAK,QAAS;AAClB,SAAK,UAAU;AACf,QAAI,KAAK,iBAAiB,OAAW;AACrC,SAAK,aAAa,cAAc,KAAK;AACrC,SAAK,aAAa,SAAS,IAAI,iBAAiB,CAAC;AAAA,EACrD;AACJ;",
5
5
  "names": []
6
6
  }