@matter/protocol 0.16.8-alpha.0-20260127-65e1b40e2 → 0.16.8-alpha.0-20260127-de48449ad
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/cjs/peer/Peer.d.ts.map +1 -1
- package/dist/cjs/peer/Peer.js +8 -1
- package/dist/cjs/peer/Peer.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +3 -0
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/MessageChannel.d.ts +11 -3
- package/dist/cjs/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageChannel.js +38 -9
- package/dist/cjs/protocol/MessageChannel.js.map +1 -1
- package/dist/cjs/protocol/ProtocolMocks.d.ts +2 -1
- package/dist/cjs/protocol/ProtocolMocks.d.ts.map +1 -1
- package/dist/cjs/protocol/ProtocolMocks.js +1 -0
- package/dist/cjs/protocol/ProtocolMocks.js.map +1 -1
- package/dist/cjs/session/Session.d.ts +1 -4
- package/dist/cjs/session/Session.d.ts.map +1 -1
- package/dist/cjs/session/Session.js +1 -4
- package/dist/cjs/session/Session.js.map +1 -1
- package/dist/esm/peer/Peer.d.ts.map +1 -1
- package/dist/esm/peer/Peer.js +8 -1
- package/dist/esm/peer/Peer.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +4 -1
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/MessageChannel.d.ts +11 -3
- package/dist/esm/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/esm/protocol/MessageChannel.js +45 -10
- package/dist/esm/protocol/MessageChannel.js.map +1 -1
- package/dist/esm/protocol/ProtocolMocks.d.ts +2 -1
- package/dist/esm/protocol/ProtocolMocks.d.ts.map +1 -1
- package/dist/esm/protocol/ProtocolMocks.js +1 -0
- package/dist/esm/protocol/ProtocolMocks.js.map +1 -1
- package/dist/esm/session/Session.d.ts +1 -4
- package/dist/esm/session/Session.d.ts.map +1 -1
- package/dist/esm/session/Session.js +1 -4
- package/dist/esm/session/Session.js.map +1 -1
- package/package.json +6 -6
- package/src/peer/Peer.ts +10 -1
- package/src/protocol/ExchangeManager.ts +10 -1
- package/src/protocol/MessageChannel.ts +61 -10
- package/src/protocol/ProtocolMocks.ts +1 -0
- package/src/session/Session.ts +1 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Peer.d.ts","sourceRoot":"","sources":["../../../src/peer/Peer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAGH,QAAQ,EAGR,QAAQ,EAER,YAAY,
|
|
1
|
+
{"version":3,"file":"Peer.d.ts","sourceRoot":"","sources":["../../../src/peer/Peer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAGH,QAAQ,EAGR,QAAQ,EAER,YAAY,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAA4B,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAItD;;GAEG;AACH,qBAAa,IAAI;;IAab,eAAe,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC;IACvC,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC;gBAEjC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO;IA0D7D,IAAI,MAAM,iCAET;IAED,IAAI,MAAM,IAIS,gBAAgB,CAAC,gBAAgB,CAFnD;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,gBAAgB,EAEnD;IAED,IAAI,OAAO,2CAEV;IAED,IAAI,UAAU,mBAEb;IAED,IAAI,QAAQ,uCAEX;IAED;;OAEG;IACG,MAAM;IAYZ;;OAEG;IACG,KAAK;IA2BX,QAAQ;CASX;AAED,yBAAiB,IAAI,CAAC;IAClB,UAAiB,OAAO;QACpB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;QACzB,QAAQ,EAAE,cAAc,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACzC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;KAC5B;IAGD,UAAiB,eAAe;QAC5B,IAAI,EAAE,iBAAiB,CAAC;QACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAC5C,aAAa,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;QACzC,UAAU,CAAC,EAAE,UAAU,CAAC;KAC3B;IAGD,UAAiB,kBAAkB;QAC/B,OAAO,EAAE,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;QAC5C,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAC;QACvD,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;KACpC;CACJ"}
|
package/dist/cjs/peer/Peer.js
CHANGED
|
@@ -100,13 +100,20 @@ class Peer {
|
|
|
100
100
|
});
|
|
101
101
|
this.#context = context;
|
|
102
102
|
this.#sessions.added.on((session) => {
|
|
103
|
+
const updateNetworkAddress = (networkAddress) => {
|
|
104
|
+
this.#descriptor.operationalAddress = networkAddress;
|
|
105
|
+
};
|
|
103
106
|
session.closing.on(() => {
|
|
104
107
|
this.#sessions.delete(session);
|
|
108
|
+
if (!session.isClosed) {
|
|
109
|
+
session.channel.networkAddressChanged.on(updateNetworkAddress);
|
|
110
|
+
}
|
|
105
111
|
});
|
|
106
112
|
if (!session.isClosed) {
|
|
107
113
|
const { channel } = session.channel;
|
|
108
114
|
if ((0, import_general.isIpNetworkChannel)(channel)) {
|
|
109
|
-
|
|
115
|
+
updateNetworkAddress(channel.networkAddress);
|
|
116
|
+
channel.networkAddressChanged.on(updateNetworkAddress);
|
|
110
117
|
}
|
|
111
118
|
}
|
|
112
119
|
if (this.activeDiscovery) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/peer/Peer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAKH,0BAA0B,EAE1B,OAAO,EACP,WAAW,EACX,aAAa,EAGb,QAAQ,EAOX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,0BAA0B,CAAC;IACzC,QAAQ,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,eAAe;;gBAaZ,OAAO,EAAE,sBAAsB;IAiB3C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAW9C,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,QAAQ,EAAE,eAAe;IAO5C,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM;IAIzD,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM;IAQzD,KAAK;
|
|
1
|
+
{"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAKH,0BAA0B,EAE1B,OAAO,EACP,WAAW,EACX,aAAa,EAGb,QAAQ,EAOX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,0BAA0B,CAAC;IACzC,QAAQ,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,eAAe;;gBAaZ,OAAO,EAAE,sBAAsB;IAiB3C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAW9C,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,QAAQ,EAAE,eAAe;IAO5C,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM;IAIzD,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM;IAQzD,KAAK;IA2PL,cAAc,CAAC,aAAa,EAAE,MAAM;IAoC1C,qCAAqC,CACjC,OAAO,EAAE,OAAO,EAChB,sBAAsB,8BAAuC;CA8EpE;AAED,qBAAa,eAAe;;gBAGZ,OAAO,EAAE,OAAO;IAI5B,qBAAqB;CAOxB"}
|
|
@@ -309,6 +309,9 @@ class ExchangeManager {
|
|
|
309
309
|
return;
|
|
310
310
|
}
|
|
311
311
|
const exchange2 = import_MessageExchange.MessageExchange.fromInitialMessage(this.#messageExchangeContextFor(session), message);
|
|
312
|
+
if (!(session instanceof import_UnsecuredSession.UnsecuredSession) && !session.isClosed) {
|
|
313
|
+
session.channel.socket = channel;
|
|
314
|
+
}
|
|
312
315
|
this.#lifetime.details.exchange = exchange2.idStr;
|
|
313
316
|
this.#addExchange(exchangeIndex, exchange2);
|
|
314
317
|
try {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/protocol/ExchangeManager.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,0BAAmE;AACnE,kBAAqB;AACrB,qBAmBO;AAEP,oCAAuC;AACvC,yBAA4B;AAC5B,qBAAwB;AACxB,4BAA+B;AAC/B,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["_stack", "_", "_error", "_hasError", "exchange"]
|
|
6
6
|
}
|
|
@@ -4,13 +4,12 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Message } from "#codec/MessageCodec.js";
|
|
7
|
-
import { Bytes, Channel, Duration, MaybePromise } from "#general";
|
|
7
|
+
import { Bytes, Channel, Duration, MaybePromise, ObservableValue, ServerAddressUdp } from "#general";
|
|
8
8
|
import type { ExchangeLogContext } from "#protocol/MessageExchange.js";
|
|
9
9
|
import type { Session } from "#session/Session.js";
|
|
10
10
|
import type { SessionParameters } from "#session/SessionParameters.js";
|
|
11
11
|
export declare class MessageChannel implements Channel<Message> {
|
|
12
12
|
#private;
|
|
13
|
-
readonly channel: Channel<Bytes>;
|
|
14
13
|
readonly session: Session;
|
|
15
14
|
closed: boolean;
|
|
16
15
|
constructor(channel: Channel<Bytes>, session: Session, onClose?: () => MaybePromise<void>);
|
|
@@ -30,7 +29,16 @@ export declare class MessageChannel implements Channel<Message> {
|
|
|
30
29
|
get maxPayloadSize(): number;
|
|
31
30
|
send(message: Message, logContext?: ExchangeLogContext): Promise<void>;
|
|
32
31
|
get name(): string;
|
|
33
|
-
get networkAddress():
|
|
32
|
+
get networkAddress(): ServerAddressUdp | undefined;
|
|
33
|
+
get networkAddressChanged(): ObservableValue<[ServerAddressUdp], void>;
|
|
34
|
+
get channel(): Channel<AllowSharedBufferSource>;
|
|
35
|
+
/**
|
|
36
|
+
* Sync the addresses for IP network channels and replace channel if the IPs change
|
|
37
|
+
* If the channel is on a non ip network then the call is basically ignored
|
|
38
|
+
* We already use a new naming here which will be more used in future, so yes inconsistency in naming is ok for now
|
|
39
|
+
* TODO refactor this out again and remove the address from the channel
|
|
40
|
+
*/
|
|
41
|
+
set socket(channel: Channel<Bytes>);
|
|
34
42
|
close(): Promise<void>;
|
|
35
43
|
calculateMaximumPeerResponseTime(peerSessionParameters: SessionParameters, localSessionParameters: SessionParameters, expectedProcessingTime?: Duration): Duration;
|
|
36
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageChannel.d.ts","sourceRoot":"","sources":["../../../src/protocol/MessageChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,wBAAwB,CAAC;AAE/D,OAAO,
|
|
1
|
+
{"version":3,"file":"MessageChannel.d.ts","sourceRoot":"","sources":["../../../src/protocol/MessageChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EACH,KAAK,EACL,OAAO,EAEP,QAAQ,EAIR,YAAY,EACZ,eAAe,EAEf,gBAAgB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAKvE,qBAAa,cAAe,YAAW,OAAO,CAAC,OAAO,CAAC;;IAU/C,QAAQ,CAAC,OAAO,EAAE,OAAO;IANtB,MAAM,UAAS;gBAKlB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACd,OAAO,EAAE,OAAO,EACzB,OAAO,CAAC,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC;IAUtC,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,EAE7C;IAED,4CAA4C;IAC5C,IAAI,UAAU,YAEb;IAED;;;OAGG;IACH,IAAI,qBAAqB,YAExB;IAED,IAAI,IAAI,mCAEP;IAED;;;OAGG;IACH,IAAI,cAAc,WAEjB;IAEK,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,kBAAkB;IAa5D,IAAI,IAAI,WAEP;IAED,IAAI,cAAc,iCAEjB;IAED,IAAI,qBAAqB,8CAExB;IAED,IAAI,OAAO,qCAEV;IAED;;;;;OAKG;IACH,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAejC;IAEK,KAAK;IASX,gCAAgC,CAC5B,qBAAqB,EAAE,iBAAiB,EACxC,sBAAsB,EAAE,iBAAiB,EACzC,sBAAsB,CAAC,EAAE,QAAQ,GAClC,QAAQ;IAWX;;;;;;;OAOG;IACH,6BAA6B,CAAC,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,iBAAiB;CAOnG"}
|
|
@@ -34,10 +34,17 @@ const logger = new import_general.Logger("MessageChannel");
|
|
|
34
34
|
class MessageChannel {
|
|
35
35
|
// When the session is supporting MRP and the channel is not reliable, use MRP handling
|
|
36
36
|
constructor(channel, session, onClose) {
|
|
37
|
-
this.channel = channel;
|
|
38
37
|
this.session = session;
|
|
38
|
+
this.#channel = channel;
|
|
39
|
+
if ((0, import_general.isIpNetworkChannel)(channel)) {
|
|
40
|
+
this.#isIpNetworkChannel = true;
|
|
41
|
+
this.#networkAddress.emit(channel.networkAddress);
|
|
42
|
+
}
|
|
39
43
|
this.#onClose = onClose;
|
|
40
44
|
}
|
|
45
|
+
#channel;
|
|
46
|
+
#networkAddress = (0, import_general.ObservableValue)();
|
|
47
|
+
#isIpNetworkChannel = false;
|
|
41
48
|
closed = false;
|
|
42
49
|
#onClose;
|
|
43
50
|
set onClose(callback) {
|
|
@@ -45,7 +52,7 @@ class MessageChannel {
|
|
|
45
52
|
}
|
|
46
53
|
/** Is the underlying transport reliable? */
|
|
47
54
|
get isReliable() {
|
|
48
|
-
return this
|
|
55
|
+
return this.#channel.isReliable;
|
|
49
56
|
}
|
|
50
57
|
/**
|
|
51
58
|
* Does the underlying transport support large messages?
|
|
@@ -55,14 +62,14 @@ class MessageChannel {
|
|
|
55
62
|
return this.type === "tcp";
|
|
56
63
|
}
|
|
57
64
|
get type() {
|
|
58
|
-
return this
|
|
65
|
+
return this.#channel.type;
|
|
59
66
|
}
|
|
60
67
|
/**
|
|
61
68
|
* Max Payload size of the exchange which bases on the maximum payload size of the channel. The full encoded matter
|
|
62
69
|
* message payload sent here can be as huge as allowed by the channel.
|
|
63
70
|
*/
|
|
64
71
|
get maxPayloadSize() {
|
|
65
|
-
return this
|
|
72
|
+
return this.#channel.maxPayloadSize;
|
|
66
73
|
}
|
|
67
74
|
async send(message, logContext) {
|
|
68
75
|
logger.debug("Message", import_Mark.Mark.OUTBOUND, import_MessageCodec.Message.diagnosticsOf(this.session, message, logContext));
|
|
@@ -73,18 +80,40 @@ class MessageChannel {
|
|
|
73
80
|
`Matter message to send to ${this.name} is ${bytes.byteLength}bytes long, which is larger than the maximum allowed size of ${this.maxPayloadSize}. This only works if both nodes support it.`
|
|
74
81
|
);
|
|
75
82
|
}
|
|
76
|
-
return await this
|
|
83
|
+
return await this.#channel.send(bytes);
|
|
77
84
|
}
|
|
78
85
|
get name() {
|
|
79
|
-
return import_general.Diagnostic.via(`${this.session.via}@${this
|
|
86
|
+
return import_general.Diagnostic.via(`${this.session.via}@${this.#channel.name}`);
|
|
80
87
|
}
|
|
81
88
|
get networkAddress() {
|
|
82
|
-
return this.
|
|
89
|
+
return this.#networkAddress.value;
|
|
90
|
+
}
|
|
91
|
+
get networkAddressChanged() {
|
|
92
|
+
return this.#networkAddress;
|
|
93
|
+
}
|
|
94
|
+
get channel() {
|
|
95
|
+
return this.#channel;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Sync the addresses for IP network channels and replace channel if the IPs change
|
|
99
|
+
* If the channel is on a non ip network then the call is basically ignored
|
|
100
|
+
* We already use a new naming here which will be more used in future, so yes inconsistency in naming is ok for now
|
|
101
|
+
* TODO refactor this out again and remove the address from the channel
|
|
102
|
+
*/
|
|
103
|
+
set socket(channel) {
|
|
104
|
+
if (this.closed || !this.#isIpNetworkChannel || !(0, import_general.isIpNetworkChannel)(channel) || channel.type !== "udp" || this.#channel.type !== "udp") {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (!(0, import_general.sameIpNetworkChannel)(channel, this.#channel)) {
|
|
108
|
+
logger.debug(`Updated address to`, this.name);
|
|
109
|
+
this.#channel = channel;
|
|
110
|
+
this.#networkAddress.emit(channel.networkAddress);
|
|
111
|
+
}
|
|
83
112
|
}
|
|
84
113
|
async close() {
|
|
85
114
|
const wasAlreadyClosed = this.closed;
|
|
86
115
|
this.closed = true;
|
|
87
|
-
await this
|
|
116
|
+
await this.#channel.close();
|
|
88
117
|
if (!wasAlreadyClosed) {
|
|
89
118
|
await this.#onClose?.();
|
|
90
119
|
}
|
|
@@ -93,7 +122,7 @@ class MessageChannel {
|
|
|
93
122
|
return import_MRP.MRP.maxPeerResponseTimeOf({
|
|
94
123
|
peerSessionParameters,
|
|
95
124
|
localSessionParameters,
|
|
96
|
-
channelType: this
|
|
125
|
+
channelType: this.#channel.type,
|
|
97
126
|
isPeerActive: this.session.isPeerActive,
|
|
98
127
|
usesMrp: this.session.usesMrp,
|
|
99
128
|
expectedProcessingTime
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/protocol/MessageChannel.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,0BAAsC;AACtC,kBAAqB;AACrB,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Message } from "#codec/MessageCodec.js";
|
|
7
7
|
import { Fabric as RealFabric } from "#fabric/Fabric.js";
|
|
8
|
-
import { AsyncObservable, Bytes, Channel, ChannelType, Crypto, IpNetworkChannel, MaybePromise, ServerAddressUdp } from "#general";
|
|
8
|
+
import { AsyncObservable, Bytes, Channel, ChannelType, Crypto, IpNetworkChannel, MaybePromise, Observable, ServerAddressUdp } from "#general";
|
|
9
9
|
import { NodeSession as RealNodeSession } from "#session/NodeSession.js";
|
|
10
10
|
import { Session } from "#session/Session.js";
|
|
11
11
|
import { Status } from "#types";
|
|
@@ -42,6 +42,7 @@ export declare namespace ProtocolMocks {
|
|
|
42
42
|
name: string;
|
|
43
43
|
type: ChannelType;
|
|
44
44
|
networkAddress: ServerAddressUdp;
|
|
45
|
+
networkAddressChanged: Observable<[ServerAddressUdp], void>;
|
|
45
46
|
constructor(config: MockNetworkConfig);
|
|
46
47
|
send(): Promise<void>;
|
|
47
48
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtocolMocks.d.ts","sourceRoot":"","sources":["../../../src/protocol/ProtocolMocks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACH,eAAe,EAEf,KAAK,EACL,OAAO,EACP,WAAW,EACX,MAAM,EAIN,gBAAgB,EAGhB,YAAY,
|
|
1
|
+
{"version":3,"file":"ProtocolMocks.d.ts","sourceRoot":"","sources":["../../../src/protocol/ProtocolMocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,6 +130,7 @@ var ProtocolMocks;
|
|
|
130
130
|
name = "mock-byte-channel";
|
|
131
131
|
type = import_general.ChannelType.UDP;
|
|
132
132
|
networkAddress;
|
|
133
|
+
networkAddressChanged = new import_general.Observable();
|
|
133
134
|
constructor(config) {
|
|
134
135
|
const index = config.index ?? 1;
|
|
135
136
|
this.maxPayloadSize = config.maxPayloadSize ?? import_general.MAX_UDP_MESSAGE_SIZE;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/protocol/ProtocolMocks.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["ProtocolMocks", "RealFabric", "Fabric", "RealNodeSession", "RealMessageChannel"]
|
|
6
6
|
}
|
|
@@ -103,13 +103,10 @@ export declare abstract class Session {
|
|
|
103
103
|
detachChannel(): MessageChannel | undefined;
|
|
104
104
|
protected close(): Promise<void>;
|
|
105
105
|
protected get manager(): SessionManager | undefined;
|
|
106
|
-
/**
|
|
107
|
-
* This is primarily intended for testing.
|
|
108
|
-
*/
|
|
109
106
|
protected set channel(channel: MessageChannel);
|
|
110
107
|
join(...name: unknown[]): Lifetime;
|
|
111
108
|
/**
|
|
112
|
-
* Invoked by manager when the session is "live".
|
|
109
|
+
* Invoked by the manager when the session is "live".
|
|
113
110
|
*
|
|
114
111
|
* This is separate from construction because we sometimes discard sessions without installing in a manager or
|
|
115
112
|
* closing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../src/session/Session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../src/session/Session.ts"],"names":[],"mappings":"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"}
|
|
@@ -325,9 +325,6 @@ class Session {
|
|
|
325
325
|
get manager() {
|
|
326
326
|
return this.#manager;
|
|
327
327
|
}
|
|
328
|
-
/**
|
|
329
|
-
* This is primarily intended for testing.
|
|
330
|
-
*/
|
|
331
328
|
set channel(channel) {
|
|
332
329
|
if (this.#channel !== void 0) {
|
|
333
330
|
throw new import_general.ImplementationError("Cannot replace active channel");
|
|
@@ -338,7 +335,7 @@ class Session {
|
|
|
338
335
|
return this.activate().join(...name);
|
|
339
336
|
}
|
|
340
337
|
/**
|
|
341
|
-
* Invoked by manager when the session is "live".
|
|
338
|
+
* Invoked by the manager when the session is "live".
|
|
342
339
|
*
|
|
343
340
|
* This is separate from construction because we sometimes discard sessions without installing in a manager or
|
|
344
341
|
* closing.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/session/Session.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Peer.d.ts","sourceRoot":"","sources":["../../../src/peer/Peer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAGH,QAAQ,EAGR,QAAQ,EAER,YAAY,
|
|
1
|
+
{"version":3,"file":"Peer.d.ts","sourceRoot":"","sources":["../../../src/peer/Peer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAGH,QAAQ,EAGR,QAAQ,EAER,YAAY,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAA4B,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAItD;;GAEG;AACH,qBAAa,IAAI;;IAab,eAAe,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC;IACvC,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC;gBAEjC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO;IA0D7D,IAAI,MAAM,iCAET;IAED,IAAI,MAAM,IAIS,gBAAgB,CAAC,gBAAgB,CAFnD;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,gBAAgB,EAEnD;IAED,IAAI,OAAO,2CAEV;IAED,IAAI,UAAU,mBAEb;IAED,IAAI,QAAQ,uCAEX;IAED;;OAEG;IACG,MAAM;IAYZ;;OAEG;IACG,KAAK;IA2BX,QAAQ;CASX;AAED,yBAAiB,IAAI,CAAC;IAClB,UAAiB,OAAO;QACpB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;QACzB,QAAQ,EAAE,cAAc,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACzC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;KAC5B;IAGD,UAAiB,eAAe;QAC5B,IAAI,EAAE,iBAAiB,CAAC;QACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAC5C,aAAa,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;QACzC,UAAU,CAAC,EAAE,UAAU,CAAC;KAC3B;IAGD,UAAiB,kBAAkB;QAC/B,OAAO,EAAE,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;QAC5C,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAC;QACvD,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;KACpC;CACJ"}
|
package/dist/esm/peer/Peer.js
CHANGED
|
@@ -84,13 +84,20 @@ class Peer {
|
|
|
84
84
|
});
|
|
85
85
|
this.#context = context;
|
|
86
86
|
this.#sessions.added.on((session) => {
|
|
87
|
+
const updateNetworkAddress = (networkAddress) => {
|
|
88
|
+
this.#descriptor.operationalAddress = networkAddress;
|
|
89
|
+
};
|
|
87
90
|
session.closing.on(() => {
|
|
88
91
|
this.#sessions.delete(session);
|
|
92
|
+
if (!session.isClosed) {
|
|
93
|
+
session.channel.networkAddressChanged.on(updateNetworkAddress);
|
|
94
|
+
}
|
|
89
95
|
});
|
|
90
96
|
if (!session.isClosed) {
|
|
91
97
|
const { channel } = session.channel;
|
|
92
98
|
if (isIpNetworkChannel(channel)) {
|
|
93
|
-
|
|
99
|
+
updateNetworkAddress(channel.networkAddress);
|
|
100
|
+
channel.networkAddressChanged.on(updateNetworkAddress);
|
|
94
101
|
}
|
|
95
102
|
}
|
|
96
103
|
if (this.activeDiscovery) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/peer/Peer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAKH,0BAA0B,EAE1B,OAAO,EACP,WAAW,EACX,aAAa,EAGb,QAAQ,EAOX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,0BAA0B,CAAC;IACzC,QAAQ,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,eAAe;;gBAaZ,OAAO,EAAE,sBAAsB;IAiB3C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAW9C,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,QAAQ,EAAE,eAAe;IAO5C,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM;IAIzD,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM;IAQzD,KAAK;
|
|
1
|
+
{"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAKH,0BAA0B,EAE1B,OAAO,EACP,WAAW,EACX,aAAa,EAGb,QAAQ,EAOX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,0BAA0B,CAAC;IACzC,QAAQ,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,eAAe;;gBAaZ,OAAO,EAAE,sBAAsB;IAiB3C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAW9C,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,QAAQ,EAAE,eAAe;IAO5C,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM;IAIzD,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM;IAQzD,KAAK;IA2PL,cAAc,CAAC,aAAa,EAAE,MAAM;IAoC1C,qCAAqC,CACjC,OAAO,EAAE,OAAO,EAChB,sBAAsB,8BAAuC;CA8EpE;AAED,qBAAa,eAAe;;gBAGZ,OAAO,EAAE,OAAO;IAI5B,qBAAqB;CAOxB"}
|
|
@@ -70,7 +70,7 @@ import { SecureChannelMessenger } from "#securechannel/SecureChannelMessenger.js
|
|
|
70
70
|
import { NodeSession } from "#session/NodeSession.js";
|
|
71
71
|
import { Session } from "#session/Session.js";
|
|
72
72
|
import { SessionManager } from "#session/SessionManager.js";
|
|
73
|
-
import { UNICAST_UNSECURE_SESSION_ID } from "#session/UnsecuredSession.js";
|
|
73
|
+
import { UNICAST_UNSECURE_SESSION_ID, UnsecuredSession } from "#session/UnsecuredSession.js";
|
|
74
74
|
import { NodeId, SECURE_CHANNEL_PROTOCOL_ID, SecureMessageType } from "#types";
|
|
75
75
|
import { MessageExchange } from "./MessageExchange.js";
|
|
76
76
|
import { DuplicateMessageError } from "./MessageReceptionState.js";
|
|
@@ -300,6 +300,9 @@ class ExchangeManager {
|
|
|
300
300
|
return;
|
|
301
301
|
}
|
|
302
302
|
const exchange2 = MessageExchange.fromInitialMessage(this.#messageExchangeContextFor(session), message);
|
|
303
|
+
if (!(session instanceof UnsecuredSession) && !session.isClosed) {
|
|
304
|
+
session.channel.socket = channel;
|
|
305
|
+
}
|
|
303
306
|
this.#lifetime.details.exchange = exchange2.idStr;
|
|
304
307
|
this.#addExchange(exchangeIndex, exchange2);
|
|
305
308
|
try {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/protocol/ExchangeManager.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAyB,SAAS,cAAc,mBAAmB;AACnE,SAAS,YAAY;AACrB;AAAA,EACI;AAAA,EACA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEP,SAAS,8BAA8B;AACvC,SAAS,mBAAmB;AAC5B,SAAS,eAAe;AACxB,SAAS,sBAAsB;AAC/B,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["_stack", "_", "_error", "_hasError", "exchange"]
|
|
6
6
|
}
|
|
@@ -4,13 +4,12 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Message } from "#codec/MessageCodec.js";
|
|
7
|
-
import { Bytes, Channel, Duration, MaybePromise } from "#general";
|
|
7
|
+
import { Bytes, Channel, Duration, MaybePromise, ObservableValue, ServerAddressUdp } from "#general";
|
|
8
8
|
import type { ExchangeLogContext } from "#protocol/MessageExchange.js";
|
|
9
9
|
import type { Session } from "#session/Session.js";
|
|
10
10
|
import type { SessionParameters } from "#session/SessionParameters.js";
|
|
11
11
|
export declare class MessageChannel implements Channel<Message> {
|
|
12
12
|
#private;
|
|
13
|
-
readonly channel: Channel<Bytes>;
|
|
14
13
|
readonly session: Session;
|
|
15
14
|
closed: boolean;
|
|
16
15
|
constructor(channel: Channel<Bytes>, session: Session, onClose?: () => MaybePromise<void>);
|
|
@@ -30,7 +29,16 @@ export declare class MessageChannel implements Channel<Message> {
|
|
|
30
29
|
get maxPayloadSize(): number;
|
|
31
30
|
send(message: Message, logContext?: ExchangeLogContext): Promise<void>;
|
|
32
31
|
get name(): string;
|
|
33
|
-
get networkAddress():
|
|
32
|
+
get networkAddress(): ServerAddressUdp | undefined;
|
|
33
|
+
get networkAddressChanged(): ObservableValue<[ServerAddressUdp], void>;
|
|
34
|
+
get channel(): Channel<AllowSharedBufferSource>;
|
|
35
|
+
/**
|
|
36
|
+
* Sync the addresses for IP network channels and replace channel if the IPs change
|
|
37
|
+
* If the channel is on a non ip network then the call is basically ignored
|
|
38
|
+
* We already use a new naming here which will be more used in future, so yes inconsistency in naming is ok for now
|
|
39
|
+
* TODO refactor this out again and remove the address from the channel
|
|
40
|
+
*/
|
|
41
|
+
set socket(channel: Channel<Bytes>);
|
|
34
42
|
close(): Promise<void>;
|
|
35
43
|
calculateMaximumPeerResponseTime(peerSessionParameters: SessionParameters, localSessionParameters: SessionParameters, expectedProcessingTime?: Duration): Duration;
|
|
36
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageChannel.d.ts","sourceRoot":"","sources":["../../../src/protocol/MessageChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,wBAAwB,CAAC;AAE/D,OAAO,
|
|
1
|
+
{"version":3,"file":"MessageChannel.d.ts","sourceRoot":"","sources":["../../../src/protocol/MessageChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EACH,KAAK,EACL,OAAO,EAEP,QAAQ,EAIR,YAAY,EACZ,eAAe,EAEf,gBAAgB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAKvE,qBAAa,cAAe,YAAW,OAAO,CAAC,OAAO,CAAC;;IAU/C,QAAQ,CAAC,OAAO,EAAE,OAAO;IANtB,MAAM,UAAS;gBAKlB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACd,OAAO,EAAE,OAAO,EACzB,OAAO,CAAC,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC;IAUtC,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,EAE7C;IAED,4CAA4C;IAC5C,IAAI,UAAU,YAEb;IAED;;;OAGG;IACH,IAAI,qBAAqB,YAExB;IAED,IAAI,IAAI,mCAEP;IAED;;;OAGG;IACH,IAAI,cAAc,WAEjB;IAEK,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,kBAAkB;IAa5D,IAAI,IAAI,WAEP;IAED,IAAI,cAAc,iCAEjB;IAED,IAAI,qBAAqB,8CAExB;IAED,IAAI,OAAO,qCAEV;IAED;;;;;OAKG;IACH,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAejC;IAEK,KAAK;IASX,gCAAgC,CAC5B,qBAAqB,EAAE,iBAAiB,EACxC,sBAAsB,EAAE,iBAAiB,EACzC,sBAAsB,CAAC,EAAE,QAAQ,GAClC,QAAQ;IAWX;;;;;;;OAOG;IACH,6BAA6B,CAAC,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,iBAAiB;CAOnG"}
|
|
@@ -5,16 +5,29 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Message, MessageCodec } from "#codec/MessageCodec.js";
|
|
7
7
|
import { Mark } from "#common/Mark.js";
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
Diagnostic,
|
|
10
|
+
isIpNetworkChannel,
|
|
11
|
+
Logger,
|
|
12
|
+
ObservableValue,
|
|
13
|
+
sameIpNetworkChannel
|
|
14
|
+
} from "#general";
|
|
9
15
|
import { MRP } from "./MRP.js";
|
|
10
16
|
const logger = new Logger("MessageChannel");
|
|
11
17
|
class MessageChannel {
|
|
12
18
|
// When the session is supporting MRP and the channel is not reliable, use MRP handling
|
|
13
19
|
constructor(channel, session, onClose) {
|
|
14
|
-
this.channel = channel;
|
|
15
20
|
this.session = session;
|
|
21
|
+
this.#channel = channel;
|
|
22
|
+
if (isIpNetworkChannel(channel)) {
|
|
23
|
+
this.#isIpNetworkChannel = true;
|
|
24
|
+
this.#networkAddress.emit(channel.networkAddress);
|
|
25
|
+
}
|
|
16
26
|
this.#onClose = onClose;
|
|
17
27
|
}
|
|
28
|
+
#channel;
|
|
29
|
+
#networkAddress = ObservableValue();
|
|
30
|
+
#isIpNetworkChannel = false;
|
|
18
31
|
closed = false;
|
|
19
32
|
#onClose;
|
|
20
33
|
set onClose(callback) {
|
|
@@ -22,7 +35,7 @@ class MessageChannel {
|
|
|
22
35
|
}
|
|
23
36
|
/** Is the underlying transport reliable? */
|
|
24
37
|
get isReliable() {
|
|
25
|
-
return this
|
|
38
|
+
return this.#channel.isReliable;
|
|
26
39
|
}
|
|
27
40
|
/**
|
|
28
41
|
* Does the underlying transport support large messages?
|
|
@@ -32,14 +45,14 @@ class MessageChannel {
|
|
|
32
45
|
return this.type === "tcp";
|
|
33
46
|
}
|
|
34
47
|
get type() {
|
|
35
|
-
return this
|
|
48
|
+
return this.#channel.type;
|
|
36
49
|
}
|
|
37
50
|
/**
|
|
38
51
|
* Max Payload size of the exchange which bases on the maximum payload size of the channel. The full encoded matter
|
|
39
52
|
* message payload sent here can be as huge as allowed by the channel.
|
|
40
53
|
*/
|
|
41
54
|
get maxPayloadSize() {
|
|
42
|
-
return this
|
|
55
|
+
return this.#channel.maxPayloadSize;
|
|
43
56
|
}
|
|
44
57
|
async send(message, logContext) {
|
|
45
58
|
logger.debug("Message", Mark.OUTBOUND, Message.diagnosticsOf(this.session, message, logContext));
|
|
@@ -50,18 +63,40 @@ class MessageChannel {
|
|
|
50
63
|
`Matter message to send to ${this.name} is ${bytes.byteLength}bytes long, which is larger than the maximum allowed size of ${this.maxPayloadSize}. This only works if both nodes support it.`
|
|
51
64
|
);
|
|
52
65
|
}
|
|
53
|
-
return await this
|
|
66
|
+
return await this.#channel.send(bytes);
|
|
54
67
|
}
|
|
55
68
|
get name() {
|
|
56
|
-
return Diagnostic.via(`${this.session.via}@${this
|
|
69
|
+
return Diagnostic.via(`${this.session.via}@${this.#channel.name}`);
|
|
57
70
|
}
|
|
58
71
|
get networkAddress() {
|
|
59
|
-
return this.
|
|
72
|
+
return this.#networkAddress.value;
|
|
73
|
+
}
|
|
74
|
+
get networkAddressChanged() {
|
|
75
|
+
return this.#networkAddress;
|
|
76
|
+
}
|
|
77
|
+
get channel() {
|
|
78
|
+
return this.#channel;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Sync the addresses for IP network channels and replace channel if the IPs change
|
|
82
|
+
* If the channel is on a non ip network then the call is basically ignored
|
|
83
|
+
* We already use a new naming here which will be more used in future, so yes inconsistency in naming is ok for now
|
|
84
|
+
* TODO refactor this out again and remove the address from the channel
|
|
85
|
+
*/
|
|
86
|
+
set socket(channel) {
|
|
87
|
+
if (this.closed || !this.#isIpNetworkChannel || !isIpNetworkChannel(channel) || channel.type !== "udp" || this.#channel.type !== "udp") {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (!sameIpNetworkChannel(channel, this.#channel)) {
|
|
91
|
+
logger.debug(`Updated address to`, this.name);
|
|
92
|
+
this.#channel = channel;
|
|
93
|
+
this.#networkAddress.emit(channel.networkAddress);
|
|
94
|
+
}
|
|
60
95
|
}
|
|
61
96
|
async close() {
|
|
62
97
|
const wasAlreadyClosed = this.closed;
|
|
63
98
|
this.closed = true;
|
|
64
|
-
await this
|
|
99
|
+
await this.#channel.close();
|
|
65
100
|
if (!wasAlreadyClosed) {
|
|
66
101
|
await this.#onClose?.();
|
|
67
102
|
}
|
|
@@ -70,7 +105,7 @@ class MessageChannel {
|
|
|
70
105
|
return MRP.maxPeerResponseTimeOf({
|
|
71
106
|
peerSessionParameters,
|
|
72
107
|
localSessionParameters,
|
|
73
|
-
channelType: this
|
|
108
|
+
channelType: this.#channel.type,
|
|
74
109
|
isPeerActive: this.session.isPeerActive,
|
|
75
110
|
usesMrp: this.session.usesMrp,
|
|
76
111
|
expectedProcessingTime
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/protocol/MessageChannel.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,SAAS,oBAAoB;AACtC,SAAS,YAAY;AACrB,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,SAAS,oBAAoB;AACtC,SAAS,YAAY;AACrB;AAAA,EAGI;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OAEG;AAIP,SAAS,WAAW;AAEpB,MAAM,SAAS,IAAI,OAAO,gBAAgB;AAEnC,MAAM,eAA2C;AAAA;AAAA,EAQpD,YACI,SACS,SACT,SACF;AAFW;AAGT,SAAK,WAAW;AAChB,QAAI,mBAAmB,OAAO,GAAG;AAC7B,WAAK,sBAAsB;AAC3B,WAAK,gBAAgB,KAAK,QAAQ,cAAc;AAAA,IACpD;AACA,SAAK,WAAW;AAAA,EACpB;AAAA,EAlBA;AAAA,EACA,kBAAkB,gBAAoC;AAAA,EACtD,sBAAsB;AAAA,EACf,SAAS;AAAA,EAChB;AAAA,EAgBA,IAAI,QAAQ,UAAoC;AAC5C,SAAK,WAAW;AAAA,EACpB;AAAA;AAAA,EAGA,IAAI,aAAa;AACb,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,wBAAwB;AACxB,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,iBAAiB;AACjB,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,MAAM,KAAK,SAAkB,YAAiC;AAC1D,WAAO,MAAM,WAAW,KAAK,UAAU,QAAQ,cAAc,KAAK,SAAS,SAAS,UAAU,CAAC;AAC/F,UAAM,SAAS,KAAK,QAAQ,OAAO,OAAO;AAC1C,UAAM,QAAQ,aAAa,aAAa,MAAM;AAC9C,QAAI,MAAM,aAAa,KAAK,gBAAgB;AACxC,aAAO;AAAA,QACH,6BAA6B,KAAK,IAAI,OAAO,MAAM,UAAU,gEAAgE,KAAK,cAAc;AAAA,MACpJ;AAAA,IACJ;AAEA,WAAO,MAAM,KAAK,SAAS,KAAK,KAAK;AAAA,EACzC;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,WAAW,IAAI,GAAG,KAAK,QAAQ,GAAG,IAAI,KAAK,SAAS,IAAI,EAAE;AAAA,EACrE;AAAA,EAEA,IAAI,iBAAiB;AACjB,WAAO,KAAK,gBAAgB;AAAA,EAChC;AAAA,EAEA,IAAI,wBAAwB;AACxB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,IAAI,OAAO,SAAyB;AAChC,QACI,KAAK,UACL,CAAC,KAAK,uBACN,CAAC,mBAAmB,OAAO,KAC3B,QAAQ,SAAS,SACjB,KAAK,SAAS,SAAS,OACzB;AACE;AAAA,IACJ;AACA,QAAI,CAAC,qBAAqB,SAAS,KAAK,QAAmC,GAAG;AAC1E,aAAO,MAAM,sBAAsB,KAAK,IAAI;AAC5C,WAAK,WAAW;AAChB,WAAK,gBAAgB,KAAK,QAAQ,cAAc;AAAA,IACpD;AAAA,EACJ;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,mBAAmB,KAAK;AAC9B,SAAK,SAAS;AACd,UAAM,KAAK,SAAS,MAAM;AAC1B,QAAI,CAAC,kBAAkB;AACnB,YAAM,KAAK,WAAW;AAAA,IAC1B;AAAA,EACJ;AAAA,EAEA,iCACI,uBACA,wBACA,wBACQ;AACR,WAAO,IAAI,sBAAsB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA,aAAa,KAAK,SAAS;AAAA,MAC3B,cAAc,KAAK,QAAQ;AAAA,MAC3B,SAAS,KAAK,QAAQ;AAAA,MACtB;AAAA,IACJ,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,8BAA8B,qBAA6B,mBAAuC;AAC9F,WAAO,IAAI,4BAA4B;AAAA,MACnC,oBAAoB;AAAA,MACpB,mBAAmB,qBAAqB,KAAK,QAAQ;AAAA,MACrD,cAAc,KAAK,QAAQ;AAAA,IAC/B,CAAC;AAAA,EACL;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Message } from "#codec/MessageCodec.js";
|
|
7
7
|
import { Fabric as RealFabric } from "#fabric/Fabric.js";
|
|
8
|
-
import { AsyncObservable, Bytes, Channel, ChannelType, Crypto, IpNetworkChannel, MaybePromise, ServerAddressUdp } from "#general";
|
|
8
|
+
import { AsyncObservable, Bytes, Channel, ChannelType, Crypto, IpNetworkChannel, MaybePromise, Observable, ServerAddressUdp } from "#general";
|
|
9
9
|
import { NodeSession as RealNodeSession } from "#session/NodeSession.js";
|
|
10
10
|
import { Session } from "#session/Session.js";
|
|
11
11
|
import { Status } from "#types";
|
|
@@ -42,6 +42,7 @@ export declare namespace ProtocolMocks {
|
|
|
42
42
|
name: string;
|
|
43
43
|
type: ChannelType;
|
|
44
44
|
networkAddress: ServerAddressUdp;
|
|
45
|
+
networkAddressChanged: Observable<[ServerAddressUdp], void>;
|
|
45
46
|
constructor(config: MockNetworkConfig);
|
|
46
47
|
send(): Promise<void>;
|
|
47
48
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtocolMocks.d.ts","sourceRoot":"","sources":["../../../src/protocol/ProtocolMocks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACH,eAAe,EAEf,KAAK,EACL,OAAO,EACP,WAAW,EACX,MAAM,EAIN,gBAAgB,EAGhB,YAAY,
|
|
1
|
+
{"version":3,"file":"ProtocolMocks.d.ts","sourceRoot":"","sources":["../../../src/protocol/ProtocolMocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,6 +129,7 @@ var ProtocolMocks;
|
|
|
129
129
|
name = "mock-byte-channel";
|
|
130
130
|
type = ChannelType.UDP;
|
|
131
131
|
networkAddress;
|
|
132
|
+
networkAddressChanged = new Observable();
|
|
132
133
|
constructor(config) {
|
|
133
134
|
const index = config.index ?? 1;
|
|
134
135
|
this.maxPayloadSize = config.maxPayloadSize ?? MAX_UDP_MESSAGE_SIZE;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/protocol/ProtocolMocks.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["ProtocolMocks", "Fabric"]
|
|
6
6
|
}
|
|
@@ -103,13 +103,10 @@ export declare abstract class Session {
|
|
|
103
103
|
detachChannel(): MessageChannel | undefined;
|
|
104
104
|
protected close(): Promise<void>;
|
|
105
105
|
protected get manager(): SessionManager | undefined;
|
|
106
|
-
/**
|
|
107
|
-
* This is primarily intended for testing.
|
|
108
|
-
*/
|
|
109
106
|
protected set channel(channel: MessageChannel);
|
|
110
107
|
join(...name: unknown[]): Lifetime;
|
|
111
108
|
/**
|
|
112
|
-
* Invoked by manager when the session is "live".
|
|
109
|
+
* Invoked by the manager when the session is "live".
|
|
113
110
|
*
|
|
114
111
|
* This is separate from construction because we sometimes discard sessions without installing in a manager or
|
|
115
112
|
* closing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../src/session/Session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EACH,eAAe,EACf,KAAK,EACL,OAAO,EAEP,QAAQ,EAKR,QAAQ,EAER,eAAe,EAGf,SAAS,EACZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAC/D,OAAO,KAAK,EACR,cAAc,EACd,aAAa,EACb,OAAO,EACP,MAAM,EACN,YAAY,EACZ,WAAW,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI3D,8BAAsB,OAAO;;IAIzB,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAC;IAE3B,SAAS,YAAc;IACvB,QAAQ,CAAC,SAAS,YAAc;IAChC,eAAe,EAAE,SAAS,CAAK;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAK3B,SAAS,CAAC,aAAa,UAAS;IAEhC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC;IACjC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC;IACnC,SAAS,CAAC,eAAe,EAAE,QAAQ,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IACjE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,OAAO,yBAAyB,CAAC,CAAC;IACnG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAElC,MAAM,EAAE,OAAO,CAAC,aAAa;IAoCzC,IAAI,SAAS,yBAEZ;IAED,WAAW,CAAC,QAAQ,EAAE,eAAe;IAIrC,cAAc,CAAC,QAAQ,EAAE,eAAe;IAIxC,IAAI,OAAO,2CAEV;IAED,cAAc,CAAC,eAAe,EAAE,OAAO;IAQvC,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,4BAA4B;IAI5B,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,KAAK;IAO5F;;;;OAIG;IACH,IAAI,aAAa,8BAEhB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQvF;;OAEG;IACH,IAAI,UAAU,IAAI,iBAAiB,CAuBlC;IAED;;OAEG;IACH,IAAI,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAKxD;IAED,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc;IACnE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAEzC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,MAAM;IAkBrD;;;;;;OAMG;IACG,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAkBvD;;;;;;;;;OASG;IACG,kBAAkB,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,iBAAiB,UAAQ;IAe5E,IAAI,QAAQ,YAEX;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,cAAc,CAK5B;IAED,IAAI,OAAO,YAEV;IAED,IAAI,qBAAqB,YAExB;IAED,IAAI,kBAAkB,YAErB;IAEK,kBAAkB,CAAC,gBAAgB,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAInE,aAAa;cAOG,KAAK;IAUrB,SAAS,KAAK,OAAO,+BAEpB;IAED
|
|
1
|
+
{"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../src/session/Session.ts"],"names":[],"mappings":"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"}
|
|
@@ -314,9 +314,6 @@ class Session {
|
|
|
314
314
|
get manager() {
|
|
315
315
|
return this.#manager;
|
|
316
316
|
}
|
|
317
|
-
/**
|
|
318
|
-
* This is primarily intended for testing.
|
|
319
|
-
*/
|
|
320
317
|
set channel(channel) {
|
|
321
318
|
if (this.#channel !== void 0) {
|
|
322
319
|
throw new ImplementationError("Cannot replace active channel");
|
|
@@ -327,7 +324,7 @@ class Session {
|
|
|
327
324
|
return this.activate().join(...name);
|
|
328
325
|
}
|
|
329
326
|
/**
|
|
330
|
-
* Invoked by manager when the session is "live".
|
|
327
|
+
* Invoked by the manager when the session is "live".
|
|
331
328
|
*
|
|
332
329
|
* This is separate from construction because we sometimes discard sessions without installing in a manager or
|
|
333
330
|
* closing.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/session/Session.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/protocol",
|
|
3
|
-
"version": "0.16.8-alpha.0-20260127-
|
|
3
|
+
"version": "0.16.8-alpha.0-20260127-de48449ad",
|
|
4
4
|
"description": "Low-level APIs for Matter interaction",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -40,13 +40,13 @@
|
|
|
40
40
|
"#*": "./src/*"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@matter/general": "0.16.8-alpha.0-20260127-
|
|
44
|
-
"@matter/model": "0.16.8-alpha.0-20260127-
|
|
45
|
-
"@matter/types": "0.16.8-alpha.0-20260127-
|
|
43
|
+
"@matter/general": "0.16.8-alpha.0-20260127-de48449ad",
|
|
44
|
+
"@matter/model": "0.16.8-alpha.0-20260127-de48449ad",
|
|
45
|
+
"@matter/types": "0.16.8-alpha.0-20260127-de48449ad"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@matter/tools": "0.16.8-alpha.0-20260127-
|
|
49
|
-
"@matter/testing": "0.16.8-alpha.0-20260127-
|
|
48
|
+
"@matter/tools": "0.16.8-alpha.0-20260127-de48449ad",
|
|
49
|
+
"@matter/testing": "0.16.8-alpha.0-20260127-de48449ad"
|
|
50
50
|
},
|
|
51
51
|
"files": [
|
|
52
52
|
"dist/**/*",
|
package/src/peer/Peer.ts
CHANGED
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
Lifetime,
|
|
15
15
|
Logger,
|
|
16
16
|
MaybePromise,
|
|
17
|
+
ServerAddressUdp,
|
|
17
18
|
} from "#general";
|
|
18
19
|
import type { MdnsClient } from "#mdns/MdnsClient.js";
|
|
19
20
|
import type { NodeSession } from "#session/NodeSession.js";
|
|
@@ -58,16 +59,24 @@ export class Peer {
|
|
|
58
59
|
this.#context = context;
|
|
59
60
|
|
|
60
61
|
this.#sessions.added.on(session => {
|
|
62
|
+
const updateNetworkAddress = (networkAddress: ServerAddressUdp) => {
|
|
63
|
+
this.#descriptor.operationalAddress = networkAddress;
|
|
64
|
+
};
|
|
65
|
+
|
|
61
66
|
// Remove channel when destroyed
|
|
62
67
|
session.closing.on(() => {
|
|
63
68
|
this.#sessions.delete(session);
|
|
69
|
+
if (!session.isClosed) {
|
|
70
|
+
session.channel.networkAddressChanged.on(updateNetworkAddress);
|
|
71
|
+
}
|
|
64
72
|
});
|
|
65
73
|
|
|
66
74
|
// Ensure the operational address is always set to the most recent IP
|
|
67
75
|
if (!session.isClosed) {
|
|
68
76
|
const { channel } = session.channel;
|
|
69
77
|
if (isIpNetworkChannel(channel)) {
|
|
70
|
-
|
|
78
|
+
updateNetworkAddress(channel.networkAddress);
|
|
79
|
+
channel.networkAddressChanged.on(updateNetworkAddress);
|
|
71
80
|
}
|
|
72
81
|
}
|
|
73
82
|
|
|
@@ -31,7 +31,7 @@ import { SecureChannelMessenger } from "#securechannel/SecureChannelMessenger.js
|
|
|
31
31
|
import { NodeSession } from "#session/NodeSession.js";
|
|
32
32
|
import { Session } from "#session/Session.js";
|
|
33
33
|
import { SessionManager } from "#session/SessionManager.js";
|
|
34
|
-
import { UNICAST_UNSECURE_SESSION_ID } from "#session/UnsecuredSession.js";
|
|
34
|
+
import { UNICAST_UNSECURE_SESSION_ID, UnsecuredSession } from "#session/UnsecuredSession.js";
|
|
35
35
|
import { NodeId, SECURE_CHANNEL_PROTOCOL_ID, SecureMessageType } from "#types";
|
|
36
36
|
import { MessageExchange, MessageExchangeContext } from "./MessageExchange.js";
|
|
37
37
|
import { DuplicateMessageError } from "./MessageReceptionState.js";
|
|
@@ -319,6 +319,15 @@ export class ExchangeManager {
|
|
|
319
319
|
}
|
|
320
320
|
|
|
321
321
|
const exchange = MessageExchange.fromInitialMessage(this.#messageExchangeContextFor(session), message);
|
|
322
|
+
|
|
323
|
+
// When opening a new exchange, ensure we have the latest address in the channel, the new message wins
|
|
324
|
+
// over potentially other known addresses.
|
|
325
|
+
// We ignore "inter exchange" address changes for now, we can address this when needed
|
|
326
|
+
// TODO Refactor this and move address to peer
|
|
327
|
+
if (!(session instanceof UnsecuredSession) && !session.isClosed) {
|
|
328
|
+
session.channel.socket = channel;
|
|
329
|
+
}
|
|
330
|
+
|
|
322
331
|
this.#lifetime.details.exchange = exchange.idStr;
|
|
323
332
|
this.#addExchange(exchangeIndex, exchange);
|
|
324
333
|
try {
|
|
@@ -6,7 +6,19 @@
|
|
|
6
6
|
|
|
7
7
|
import { Message, MessageCodec } from "#codec/MessageCodec.js";
|
|
8
8
|
import { Mark } from "#common/Mark.js";
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
Bytes,
|
|
11
|
+
Channel,
|
|
12
|
+
Diagnostic,
|
|
13
|
+
Duration,
|
|
14
|
+
IpNetworkChannel,
|
|
15
|
+
isIpNetworkChannel,
|
|
16
|
+
Logger,
|
|
17
|
+
MaybePromise,
|
|
18
|
+
ObservableValue,
|
|
19
|
+
sameIpNetworkChannel,
|
|
20
|
+
ServerAddressUdp,
|
|
21
|
+
} from "#general";
|
|
10
22
|
import type { ExchangeLogContext } from "#protocol/MessageExchange.js";
|
|
11
23
|
import type { Session } from "#session/Session.js";
|
|
12
24
|
import type { SessionParameters } from "#session/SessionParameters.js";
|
|
@@ -15,15 +27,23 @@ import { MRP } from "./MRP.js";
|
|
|
15
27
|
const logger = new Logger("MessageChannel");
|
|
16
28
|
|
|
17
29
|
export class MessageChannel implements Channel<Message> {
|
|
30
|
+
#channel: Channel<Bytes>;
|
|
31
|
+
#networkAddress = ObservableValue<[ServerAddressUdp]>();
|
|
32
|
+
#isIpNetworkChannel = false;
|
|
18
33
|
public closed = false;
|
|
19
34
|
#onClose?: () => MaybePromise<void>;
|
|
20
35
|
// When the session is supporting MRP and the channel is not reliable, use MRP handling
|
|
21
36
|
|
|
22
37
|
constructor(
|
|
23
|
-
|
|
38
|
+
channel: Channel<Bytes>,
|
|
24
39
|
readonly session: Session,
|
|
25
40
|
onClose?: () => MaybePromise<void>,
|
|
26
41
|
) {
|
|
42
|
+
this.#channel = channel;
|
|
43
|
+
if (isIpNetworkChannel(channel)) {
|
|
44
|
+
this.#isIpNetworkChannel = true;
|
|
45
|
+
this.#networkAddress.emit(channel.networkAddress);
|
|
46
|
+
}
|
|
27
47
|
this.#onClose = onClose;
|
|
28
48
|
}
|
|
29
49
|
|
|
@@ -33,7 +53,7 @@ export class MessageChannel implements Channel<Message> {
|
|
|
33
53
|
|
|
34
54
|
/** Is the underlying transport reliable? */
|
|
35
55
|
get isReliable() {
|
|
36
|
-
return this
|
|
56
|
+
return this.#channel.isReliable;
|
|
37
57
|
}
|
|
38
58
|
|
|
39
59
|
/**
|
|
@@ -45,7 +65,7 @@ export class MessageChannel implements Channel<Message> {
|
|
|
45
65
|
}
|
|
46
66
|
|
|
47
67
|
get type() {
|
|
48
|
-
return this
|
|
68
|
+
return this.#channel.type;
|
|
49
69
|
}
|
|
50
70
|
|
|
51
71
|
/**
|
|
@@ -53,7 +73,7 @@ export class MessageChannel implements Channel<Message> {
|
|
|
53
73
|
* message payload sent here can be as huge as allowed by the channel.
|
|
54
74
|
*/
|
|
55
75
|
get maxPayloadSize() {
|
|
56
|
-
return this
|
|
76
|
+
return this.#channel.maxPayloadSize;
|
|
57
77
|
}
|
|
58
78
|
|
|
59
79
|
async send(message: Message, logContext?: ExchangeLogContext) {
|
|
@@ -66,21 +86,52 @@ export class MessageChannel implements Channel<Message> {
|
|
|
66
86
|
);
|
|
67
87
|
}
|
|
68
88
|
|
|
69
|
-
return await this
|
|
89
|
+
return await this.#channel.send(bytes);
|
|
70
90
|
}
|
|
71
91
|
|
|
72
92
|
get name() {
|
|
73
|
-
return Diagnostic.via(`${this.session.via}@${this
|
|
93
|
+
return Diagnostic.via(`${this.session.via}@${this.#channel.name}`);
|
|
74
94
|
}
|
|
75
95
|
|
|
76
96
|
get networkAddress() {
|
|
77
|
-
return
|
|
97
|
+
return this.#networkAddress.value;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
get networkAddressChanged() {
|
|
101
|
+
return this.#networkAddress;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
get channel() {
|
|
105
|
+
return this.#channel;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Sync the addresses for IP network channels and replace channel if the IPs change
|
|
110
|
+
* If the channel is on a non ip network then the call is basically ignored
|
|
111
|
+
* We already use a new naming here which will be more used in future, so yes inconsistency in naming is ok for now
|
|
112
|
+
* TODO refactor this out again and remove the address from the channel
|
|
113
|
+
*/
|
|
114
|
+
set socket(channel: Channel<Bytes>) {
|
|
115
|
+
if (
|
|
116
|
+
this.closed ||
|
|
117
|
+
!this.#isIpNetworkChannel ||
|
|
118
|
+
!isIpNetworkChannel(channel) ||
|
|
119
|
+
channel.type !== "udp" ||
|
|
120
|
+
this.#channel.type !== "udp"
|
|
121
|
+
) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
if (!sameIpNetworkChannel(channel, this.#channel as IpNetworkChannel<Bytes>)) {
|
|
125
|
+
logger.debug(`Updated address to`, this.name);
|
|
126
|
+
this.#channel = channel;
|
|
127
|
+
this.#networkAddress.emit(channel.networkAddress);
|
|
128
|
+
}
|
|
78
129
|
}
|
|
79
130
|
|
|
80
131
|
async close() {
|
|
81
132
|
const wasAlreadyClosed = this.closed;
|
|
82
133
|
this.closed = true;
|
|
83
|
-
await this
|
|
134
|
+
await this.#channel.close();
|
|
84
135
|
if (!wasAlreadyClosed) {
|
|
85
136
|
await this.#onClose?.();
|
|
86
137
|
}
|
|
@@ -94,7 +145,7 @@ export class MessageChannel implements Channel<Message> {
|
|
|
94
145
|
return MRP.maxPeerResponseTimeOf({
|
|
95
146
|
peerSessionParameters,
|
|
96
147
|
localSessionParameters,
|
|
97
|
-
channelType: this
|
|
148
|
+
channelType: this.#channel.type,
|
|
98
149
|
isPeerActive: this.session.isPeerActive,
|
|
99
150
|
usesMrp: this.session.usesMrp,
|
|
100
151
|
expectedProcessingTime,
|
|
@@ -162,6 +162,7 @@ export namespace ProtocolMocks {
|
|
|
162
162
|
name = "mock-byte-channel";
|
|
163
163
|
type = ChannelType.UDP;
|
|
164
164
|
networkAddress: ServerAddressUdp;
|
|
165
|
+
networkAddressChanged = new Observable<[ServerAddressUdp]>();
|
|
165
166
|
|
|
166
167
|
constructor(config: MockNetworkConfig) {
|
|
167
168
|
const index = config.index ?? 1;
|
package/src/session/Session.ts
CHANGED
|
@@ -338,9 +338,6 @@ export abstract class Session {
|
|
|
338
338
|
return this.#manager;
|
|
339
339
|
}
|
|
340
340
|
|
|
341
|
-
/**
|
|
342
|
-
* This is primarily intended for testing.
|
|
343
|
-
*/
|
|
344
341
|
protected set channel(channel: MessageChannel) {
|
|
345
342
|
if (this.#channel !== undefined) {
|
|
346
343
|
throw new ImplementationError("Cannot replace active channel");
|
|
@@ -353,7 +350,7 @@ export abstract class Session {
|
|
|
353
350
|
}
|
|
354
351
|
|
|
355
352
|
/**
|
|
356
|
-
* Invoked by manager when the session is "live".
|
|
353
|
+
* Invoked by the manager when the session is "live".
|
|
357
354
|
*
|
|
358
355
|
* This is separate from construction because we sometimes discard sessions without installing in a manager or
|
|
359
356
|
* closing.
|