@matter/protocol 0.16.0-alpha.0-20251213-e83db3732 → 0.16.0-alpha.0-20251217-038f88085
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/LICENSE +1 -1
- package/dist/cjs/action/client/ClientInteraction.d.ts +12 -5
- package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/cjs/action/client/ClientInteraction.js +39 -15
- package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
- package/dist/cjs/action/client/ClientRead.d.ts +10 -0
- package/dist/cjs/action/client/ClientRead.d.ts.map +1 -0
- package/dist/cjs/action/client/ClientRead.js +22 -0
- package/dist/cjs/action/client/ClientRead.js.map +6 -0
- package/dist/cjs/action/client/ClientRequest.d.ts +20 -0
- package/dist/cjs/action/client/ClientRequest.d.ts.map +1 -0
- package/dist/cjs/action/client/ClientRequest.js +22 -0
- package/dist/cjs/action/client/ClientRequest.js.map +6 -0
- package/dist/cjs/action/client/ClientWrite.d.ts +10 -0
- package/dist/cjs/action/client/ClientWrite.d.ts.map +1 -0
- package/dist/cjs/action/client/ClientWrite.js +22 -0
- package/dist/cjs/action/client/ClientWrite.js.map +6 -0
- package/dist/cjs/action/client/QueuedClientInteraction.d.ts +49 -0
- package/dist/cjs/action/client/QueuedClientInteraction.d.ts.map +1 -0
- package/dist/cjs/action/client/QueuedClientInteraction.js +160 -0
- package/dist/cjs/action/client/QueuedClientInteraction.js.map +6 -0
- package/dist/cjs/action/client/index.d.ts +4 -0
- package/dist/cjs/action/client/index.d.ts.map +1 -1
- package/dist/cjs/action/client/index.js +4 -0
- package/dist/cjs/action/client/index.js.map +1 -1
- package/dist/cjs/action/client/subscription/ClientSubscribe.d.ts +2 -1
- package/dist/cjs/action/client/subscription/ClientSubscribe.d.ts.map +1 -1
- package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.d.ts.map +1 -1
- package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.js +14 -3
- package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.js.map +1 -1
- package/dist/cjs/action/client/subscription/SustainedSubscription.d.ts +1 -1
- package/dist/cjs/action/client/subscription/SustainedSubscription.d.ts.map +1 -1
- package/dist/cjs/action/client/subscription/SustainedSubscription.js +1 -4
- package/dist/cjs/action/client/subscription/SustainedSubscription.js.map +1 -1
- package/dist/cjs/action/request/Invoke.d.ts +7 -1
- package/dist/cjs/action/request/Invoke.d.ts.map +1 -1
- package/dist/cjs/action/request/Invoke.js +0 -3
- package/dist/cjs/action/request/Invoke.js.map +1 -1
- package/dist/cjs/action/request/Read.d.ts.map +1 -1
- package/dist/cjs/action/request/Read.js +3 -2
- package/dist/cjs/action/request/Read.js.map +1 -1
- package/dist/cjs/action/request/Specifier.d.ts +1 -1
- package/dist/cjs/action/request/Specifier.d.ts.map +1 -1
- package/dist/cjs/action/request/Specifier.js +3 -0
- package/dist/cjs/action/request/Specifier.js.map +1 -1
- package/dist/cjs/action/request/Write.d.ts +1 -0
- package/dist/cjs/action/request/Write.d.ts.map +1 -1
- package/dist/cjs/action/request/Write.js +10 -2
- package/dist/cjs/action/request/Write.js.map +1 -1
- package/dist/cjs/action/response/ReadResult.d.ts +1 -1
- package/dist/cjs/action/response/ReadResult.d.ts.map +1 -1
- package/dist/cjs/cluster/client/ClusterClientTypes.d.ts +37 -8
- package/dist/cjs/cluster/client/ClusterClientTypes.d.ts.map +1 -1
- package/dist/cjs/cluster/client/index.d.ts +0 -3
- package/dist/cjs/cluster/client/index.d.ts.map +1 -1
- package/dist/cjs/cluster/client/index.js +0 -3
- package/dist/cjs/cluster/client/index.js.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.js +3 -2
- package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
- package/dist/cjs/interaction/SubscriptionClient.d.ts.map +1 -1
- package/dist/cjs/interaction/SubscriptionClient.js +2 -1
- package/dist/cjs/interaction/SubscriptionClient.js.map +1 -1
- package/dist/cjs/interaction/index.d.ts +1 -1
- package/dist/cjs/interaction/index.d.ts.map +1 -1
- package/dist/cjs/interaction/index.js +1 -1
- package/dist/cjs/interaction/index.js.map +1 -1
- package/dist/cjs/peer/CommissioningError.d.ts +13 -0
- package/dist/cjs/peer/CommissioningError.d.ts.map +1 -0
- package/dist/cjs/peer/CommissioningError.js +32 -0
- package/dist/cjs/peer/CommissioningError.js.map +6 -0
- package/dist/cjs/peer/ControllerCommissioner.d.ts +2 -3
- package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.js +20 -13
- package/dist/cjs/peer/ControllerCommissioner.js.map +2 -2
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts +7 -16
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.js +395 -178
- package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.d.ts +4 -0
- package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.js +6 -3
- package/dist/cjs/peer/ControllerDiscovery.js.map +1 -1
- package/dist/cjs/peer/InteractionQueue.d.ts +2 -2
- package/dist/cjs/peer/InteractionQueue.d.ts.map +1 -1
- package/dist/cjs/peer/InteractionQueue.js +1 -1
- package/dist/cjs/peer/InteractionQueue.js.map +1 -1
- package/dist/cjs/peer/PeerAddressStore.d.ts +0 -9
- package/dist/cjs/peer/PeerAddressStore.d.ts.map +1 -1
- package/dist/cjs/peer/PeerAddressStore.js.map +1 -1
- package/dist/cjs/peer/PeerSet.d.ts +0 -2
- package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
- package/dist/cjs/peer/PeerSet.js +32 -18
- package/dist/cjs/peer/PeerSet.js.map +1 -1
- package/dist/cjs/peer/PhysicalDeviceProperties.js +1 -1
- package/dist/cjs/peer/PhysicalDeviceProperties.js.map +1 -1
- package/dist/cjs/peer/index.d.ts +1 -0
- package/dist/cjs/peer/index.d.ts.map +1 -1
- package/dist/cjs/peer/index.js +1 -0
- package/dist/cjs/peer/index.js.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +2 -2
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/ExchangeProvider.d.ts +13 -4
- package/dist/cjs/protocol/ExchangeProvider.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeProvider.js +5 -3
- package/dist/cjs/protocol/ExchangeProvider.js.map +1 -1
- package/dist/cjs/session/NodeSession.d.ts +5 -2
- package/dist/cjs/session/NodeSession.d.ts.map +1 -1
- package/dist/cjs/session/NodeSession.js +5 -4
- package/dist/cjs/session/NodeSession.js.map +1 -1
- package/dist/cjs/session/Session.d.ts +5 -3
- package/dist/cjs/session/Session.d.ts.map +1 -1
- package/dist/cjs/session/Session.js +8 -4
- package/dist/cjs/session/Session.js.map +1 -1
- package/dist/cjs/session/SessionManager.d.ts +8 -0
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +16 -2
- package/dist/cjs/session/SessionManager.js.map +1 -1
- package/dist/esm/action/client/ClientInteraction.d.ts +12 -5
- package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/esm/action/client/ClientInteraction.js +42 -16
- package/dist/esm/action/client/ClientInteraction.js.map +1 -1
- package/dist/esm/action/client/ClientRead.d.ts +10 -0
- package/dist/esm/action/client/ClientRead.d.ts.map +1 -0
- package/dist/esm/action/client/ClientRead.js +6 -0
- package/dist/esm/action/client/ClientRead.js.map +6 -0
- package/dist/esm/action/client/ClientRequest.d.ts +20 -0
- package/dist/esm/action/client/ClientRequest.d.ts.map +1 -0
- package/dist/esm/action/client/ClientRequest.js +6 -0
- package/dist/esm/action/client/ClientRequest.js.map +6 -0
- package/dist/esm/action/client/ClientWrite.d.ts +10 -0
- package/dist/esm/action/client/ClientWrite.d.ts.map +1 -0
- package/dist/esm/action/client/ClientWrite.js +6 -0
- package/dist/esm/action/client/ClientWrite.js.map +6 -0
- package/dist/esm/action/client/QueuedClientInteraction.d.ts +49 -0
- package/dist/esm/action/client/QueuedClientInteraction.d.ts.map +1 -0
- package/dist/esm/action/client/QueuedClientInteraction.js +140 -0
- package/dist/esm/action/client/QueuedClientInteraction.js.map +6 -0
- package/dist/esm/action/client/index.d.ts +4 -0
- package/dist/esm/action/client/index.d.ts.map +1 -1
- package/dist/esm/action/client/index.js +4 -0
- package/dist/esm/action/client/index.js.map +1 -1
- package/dist/esm/action/client/subscription/ClientSubscribe.d.ts +2 -1
- package/dist/esm/action/client/subscription/ClientSubscribe.d.ts.map +1 -1
- package/dist/esm/action/client/subscription/ClientSubscriptionHandler.d.ts.map +1 -1
- package/dist/esm/action/client/subscription/ClientSubscriptionHandler.js +14 -3
- package/dist/esm/action/client/subscription/ClientSubscriptionHandler.js.map +1 -1
- package/dist/esm/action/client/subscription/SustainedSubscription.d.ts +1 -1
- package/dist/esm/action/client/subscription/SustainedSubscription.d.ts.map +1 -1
- package/dist/esm/action/client/subscription/SustainedSubscription.js +1 -4
- package/dist/esm/action/client/subscription/SustainedSubscription.js.map +1 -1
- package/dist/esm/action/request/Invoke.d.ts +7 -1
- package/dist/esm/action/request/Invoke.d.ts.map +1 -1
- package/dist/esm/action/request/Invoke.js +0 -3
- package/dist/esm/action/request/Invoke.js.map +1 -1
- package/dist/esm/action/request/Read.d.ts.map +1 -1
- package/dist/esm/action/request/Read.js +3 -2
- package/dist/esm/action/request/Read.js.map +1 -1
- package/dist/esm/action/request/Specifier.d.ts +1 -1
- package/dist/esm/action/request/Specifier.d.ts.map +1 -1
- package/dist/esm/action/request/Specifier.js +3 -0
- package/dist/esm/action/request/Specifier.js.map +1 -1
- package/dist/esm/action/request/Write.d.ts +1 -0
- package/dist/esm/action/request/Write.d.ts.map +1 -1
- package/dist/esm/action/request/Write.js +10 -2
- package/dist/esm/action/request/Write.js.map +1 -1
- package/dist/esm/action/response/ReadResult.d.ts +1 -1
- package/dist/esm/action/response/ReadResult.d.ts.map +1 -1
- package/dist/esm/cluster/client/ClusterClientTypes.d.ts +37 -8
- package/dist/esm/cluster/client/ClusterClientTypes.d.ts.map +1 -1
- package/dist/esm/cluster/client/index.d.ts +0 -3
- package/dist/esm/cluster/client/index.d.ts.map +1 -1
- package/dist/esm/cluster/client/index.js +0 -3
- package/dist/esm/cluster/client/index.js.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.js +4 -3
- package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
- package/dist/esm/interaction/SubscriptionClient.d.ts.map +1 -1
- package/dist/esm/interaction/SubscriptionClient.js +2 -1
- package/dist/esm/interaction/SubscriptionClient.js.map +1 -1
- package/dist/esm/interaction/index.d.ts +1 -1
- package/dist/esm/interaction/index.d.ts.map +1 -1
- package/dist/esm/interaction/index.js +1 -1
- package/dist/esm/peer/CommissioningError.d.ts +13 -0
- package/dist/esm/peer/CommissioningError.d.ts.map +1 -0
- package/dist/esm/peer/CommissioningError.js +12 -0
- package/dist/esm/peer/CommissioningError.js.map +6 -0
- package/dist/esm/peer/ControllerCommissioner.d.ts +2 -3
- package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.js +19 -13
- package/dist/esm/peer/ControllerCommissioner.js.map +2 -2
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts +7 -16
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.js +380 -162
- package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.d.ts +4 -0
- package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.js +4 -1
- package/dist/esm/peer/ControllerDiscovery.js.map +1 -1
- package/dist/esm/peer/InteractionQueue.d.ts +2 -2
- package/dist/esm/peer/InteractionQueue.d.ts.map +1 -1
- package/dist/esm/peer/InteractionQueue.js +2 -2
- package/dist/esm/peer/InteractionQueue.js.map +1 -1
- package/dist/esm/peer/PeerAddressStore.d.ts +0 -9
- package/dist/esm/peer/PeerAddressStore.d.ts.map +1 -1
- package/dist/esm/peer/PeerAddressStore.js.map +1 -1
- package/dist/esm/peer/PeerSet.d.ts +0 -2
- package/dist/esm/peer/PeerSet.d.ts.map +1 -1
- package/dist/esm/peer/PeerSet.js +32 -18
- package/dist/esm/peer/PeerSet.js.map +1 -1
- package/dist/esm/peer/PhysicalDeviceProperties.js +1 -1
- package/dist/esm/peer/PhysicalDeviceProperties.js.map +1 -1
- package/dist/esm/peer/index.d.ts +1 -0
- package/dist/esm/peer/index.d.ts.map +1 -1
- package/dist/esm/peer/index.js +1 -0
- package/dist/esm/peer/index.js.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +2 -2
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/ExchangeProvider.d.ts +13 -4
- package/dist/esm/protocol/ExchangeProvider.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeProvider.js +5 -3
- package/dist/esm/protocol/ExchangeProvider.js.map +1 -1
- package/dist/esm/session/NodeSession.d.ts +5 -2
- package/dist/esm/session/NodeSession.d.ts.map +1 -1
- package/dist/esm/session/NodeSession.js +5 -4
- package/dist/esm/session/NodeSession.js.map +1 -1
- package/dist/esm/session/Session.d.ts +5 -3
- package/dist/esm/session/Session.d.ts.map +1 -1
- package/dist/esm/session/Session.js +8 -4
- package/dist/esm/session/Session.js.map +1 -1
- package/dist/esm/session/SessionManager.d.ts +8 -0
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +17 -2
- package/dist/esm/session/SessionManager.js.map +1 -1
- package/package.json +6 -6
- package/src/action/client/ClientInteraction.ts +58 -19
- package/src/action/client/ClientRead.ts +10 -0
- package/src/action/client/ClientRequest.ts +20 -0
- package/src/action/client/ClientWrite.ts +10 -0
- package/src/action/client/QueuedClientInteraction.ts +91 -0
- package/src/action/client/index.ts +4 -0
- package/src/action/client/subscription/ClientSubscribe.ts +2 -1
- package/src/action/client/subscription/ClientSubscriptionHandler.ts +14 -3
- package/src/action/client/subscription/SustainedSubscription.ts +6 -9
- package/src/action/request/Invoke.ts +11 -4
- package/src/action/request/Read.ts +3 -2
- package/src/action/request/Specifier.ts +4 -1
- package/src/action/request/Write.ts +11 -2
- package/src/action/response/ReadResult.ts +1 -1
- package/src/cluster/client/ClusterClientTypes.ts +47 -7
- package/src/cluster/client/index.ts +0 -3
- package/src/interaction/InteractionMessenger.ts +5 -4
- package/src/interaction/SubscriptionClient.ts +2 -1
- package/src/interaction/index.ts +1 -1
- package/src/peer/CommissioningError.ts +13 -0
- package/src/peer/ControllerCommissioner.ts +21 -13
- package/src/peer/ControllerCommissioningFlow.ts +418 -186
- package/src/peer/ControllerDiscovery.ts +4 -1
- package/src/peer/InteractionQueue.ts +2 -2
- package/src/peer/PeerAddressStore.ts +0 -9
- package/src/peer/PeerSet.ts +56 -23
- package/src/peer/PhysicalDeviceProperties.ts +1 -1
- package/src/peer/index.ts +1 -0
- package/src/protocol/DeviceCommissioner.ts +0 -1
- package/src/protocol/ExchangeManager.ts +2 -2
- package/src/protocol/ExchangeProvider.ts +9 -7
- package/src/session/NodeSession.ts +5 -4
- package/src/session/Session.ts +8 -4
- package/src/session/SessionManager.ts +19 -2
- package/dist/cjs/cluster/client/AttributeClient.d.ts +0 -75
- package/dist/cjs/cluster/client/AttributeClient.d.ts.map +0 -1
- package/dist/cjs/cluster/client/AttributeClient.js +0 -209
- package/dist/cjs/cluster/client/AttributeClient.js.map +0 -6
- package/dist/cjs/cluster/client/ClusterClient.d.ts +0 -11
- package/dist/cjs/cluster/client/ClusterClient.d.ts.map +0 -1
- package/dist/cjs/cluster/client/ClusterClient.js +0 -335
- package/dist/cjs/cluster/client/ClusterClient.js.map +0 -6
- package/dist/cjs/cluster/client/EventClient.d.ts +0 -33
- package/dist/cjs/cluster/client/EventClient.d.ts.map +0 -1
- package/dist/cjs/cluster/client/EventClient.js +0 -89
- package/dist/cjs/cluster/client/EventClient.js.map +0 -6
- package/dist/cjs/interaction/InteractionClient.d.ts +0 -375
- package/dist/cjs/interaction/InteractionClient.d.ts.map +0 -1
- package/dist/cjs/interaction/InteractionClient.js +0 -1046
- package/dist/cjs/interaction/InteractionClient.js.map +0 -6
- package/dist/esm/cluster/client/AttributeClient.d.ts +0 -75
- package/dist/esm/cluster/client/AttributeClient.d.ts.map +0 -1
- package/dist/esm/cluster/client/AttributeClient.js +0 -189
- package/dist/esm/cluster/client/AttributeClient.js.map +0 -6
- package/dist/esm/cluster/client/ClusterClient.d.ts +0 -11
- package/dist/esm/cluster/client/ClusterClient.d.ts.map +0 -1
- package/dist/esm/cluster/client/ClusterClient.js +0 -320
- package/dist/esm/cluster/client/ClusterClient.js.map +0 -6
- package/dist/esm/cluster/client/EventClient.d.ts +0 -33
- package/dist/esm/cluster/client/EventClient.d.ts.map +0 -1
- package/dist/esm/cluster/client/EventClient.js +0 -69
- package/dist/esm/cluster/client/EventClient.js.map +0 -6
- package/dist/esm/interaction/InteractionClient.d.ts +0 -375
- package/dist/esm/interaction/InteractionClient.d.ts.map +0 -1
- package/dist/esm/interaction/InteractionClient.js +0 -1047
- package/dist/esm/interaction/InteractionClient.js.map +0 -6
- package/src/cluster/client/AttributeClient.ts +0 -230
- package/src/cluster/client/ClusterClient.ts +0 -433
- package/src/cluster/client/EventClient.ts +0 -99
- package/src/interaction/InteractionClient.ts +0 -1614
|
@@ -62,7 +62,9 @@ import {
|
|
|
62
62
|
Logger,
|
|
63
63
|
Minutes,
|
|
64
64
|
RetrySchedule,
|
|
65
|
-
Seconds
|
|
65
|
+
Seconds,
|
|
66
|
+
Time,
|
|
67
|
+
TimeoutError
|
|
66
68
|
} from "#general";
|
|
67
69
|
import { InteractionClientMessenger, MessageType } from "#interaction/InteractionMessenger.js";
|
|
68
70
|
import { Subscription } from "#interaction/Subscription.js";
|
|
@@ -80,15 +82,16 @@ const SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT = Minutes(60);
|
|
|
80
82
|
const DEFAULT_TIMED_REQUEST_TIMEOUT = Seconds(10);
|
|
81
83
|
const DEFAULT_MINIMUM_RESPONSE_TIMEOUT_WITH_FAILSAFE = Seconds(30);
|
|
82
84
|
class ClientInteraction {
|
|
83
|
-
|
|
85
|
+
environment;
|
|
84
86
|
#lifetime;
|
|
85
87
|
#exchanges;
|
|
86
88
|
#interactions = new BasicSet();
|
|
87
89
|
#subscriptions;
|
|
88
90
|
#abort;
|
|
89
91
|
#sustainRetries;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
+
#address;
|
|
93
|
+
constructor({ environment, abort, sustainRetries, exchangeProvider, address }) {
|
|
94
|
+
this.environment = environment;
|
|
92
95
|
this.#exchanges = exchangeProvider ?? environment.get(ExchangeProvider);
|
|
93
96
|
if (environment.has(ClientSubscriptions)) {
|
|
94
97
|
this.#subscriptions = environment.get(ClientSubscriptions);
|
|
@@ -98,6 +101,7 @@ class ClientInteraction {
|
|
|
98
101
|
environment.get(Entropy),
|
|
99
102
|
RetrySchedule.Configuration(SustainedSubscription.DefaultRetrySchedule, sustainRetries)
|
|
100
103
|
);
|
|
104
|
+
this.#address = address;
|
|
101
105
|
this.#lifetime = environment.join("interactions");
|
|
102
106
|
Object.defineProperties(this.#lifetime.details, {
|
|
103
107
|
"# active": {
|
|
@@ -130,7 +134,7 @@ class ClientInteraction {
|
|
|
130
134
|
}
|
|
131
135
|
get subscriptions() {
|
|
132
136
|
if (this.#subscriptions === void 0) {
|
|
133
|
-
this.#subscriptions = this
|
|
137
|
+
this.#subscriptions = this.environment.get(ClientSubscriptions);
|
|
134
138
|
}
|
|
135
139
|
return this.#subscriptions;
|
|
136
140
|
}
|
|
@@ -405,15 +409,6 @@ class ClientInteraction {
|
|
|
405
409
|
checkAbort();
|
|
406
410
|
const responseMessage = await messenger.nextMessage(MessageType.SubscribeResponse);
|
|
407
411
|
const response = TlvSubscribeResponse.decode(responseMessage.payload);
|
|
408
|
-
logger.info(
|
|
409
|
-
"Subscription successful",
|
|
410
|
-
Mark.INBOUND,
|
|
411
|
-
messenger.exchange.via,
|
|
412
|
-
Diagnostic.dict({
|
|
413
|
-
id: response.subscriptionId,
|
|
414
|
-
interval: Duration.format(Seconds(response.maxInterval))
|
|
415
|
-
})
|
|
416
|
-
);
|
|
417
412
|
const subscription2 = new PeerSubscription({
|
|
418
413
|
lifetime: this.subscriptions,
|
|
419
414
|
request: request2,
|
|
@@ -424,6 +419,16 @@ class ClientInteraction {
|
|
|
424
419
|
maxPeerResponseTime: this.#exchanges.maximumPeerResponseTime()
|
|
425
420
|
});
|
|
426
421
|
this.subscriptions.addPeer(subscription2);
|
|
422
|
+
logger.info(
|
|
423
|
+
"Subscription successful",
|
|
424
|
+
Mark.INBOUND,
|
|
425
|
+
messenger.exchange.via,
|
|
426
|
+
Diagnostic.dict({
|
|
427
|
+
id: Subscription.idStrOf(response.subscriptionId),
|
|
428
|
+
interval: Duration.format(Seconds(response.maxInterval)),
|
|
429
|
+
timeout: Duration.format(subscription2.timeout)
|
|
430
|
+
})
|
|
431
|
+
);
|
|
427
432
|
return subscription2;
|
|
428
433
|
} catch (_) {
|
|
429
434
|
var _error = _, _hasError = true;
|
|
@@ -463,9 +468,17 @@ class ClientInteraction {
|
|
|
463
468
|
if (this.#abort.aborted) {
|
|
464
469
|
throw new ImplementationError("Client interaction unavailable after close");
|
|
465
470
|
}
|
|
466
|
-
this.#interactions.add(request);
|
|
467
471
|
const checkAbort = Abort.checkerFor(session);
|
|
468
|
-
const
|
|
472
|
+
const now = Time.nowMs;
|
|
473
|
+
let messenger;
|
|
474
|
+
try {
|
|
475
|
+
messenger = await InteractionClientMessenger.create(this.#exchanges);
|
|
476
|
+
} catch (error) {
|
|
477
|
+
TimeoutError.accept(error);
|
|
478
|
+
await this.exchanges.reconnectChannel({ asOf: now, resetInitialState: true });
|
|
479
|
+
messenger = await InteractionClientMessenger.create(this.#exchanges);
|
|
480
|
+
}
|
|
481
|
+
this.#interactions.add(request);
|
|
469
482
|
Object.defineProperty(lifetime.details, "via", {
|
|
470
483
|
get() {
|
|
471
484
|
return messenger.exchange.via;
|
|
@@ -499,6 +512,19 @@ class ClientInteraction {
|
|
|
499
512
|
__callDispose(_stack, _error, _hasError);
|
|
500
513
|
}
|
|
501
514
|
}
|
|
515
|
+
get channelType() {
|
|
516
|
+
return this.#exchanges.channelType;
|
|
517
|
+
}
|
|
518
|
+
/** Calculates the current maximum response time for a message use in additional logic like timers. */
|
|
519
|
+
maximumPeerResponseTime(expectedProcessingTime) {
|
|
520
|
+
return this.#exchanges.maximumPeerResponseTime(expectedProcessingTime);
|
|
521
|
+
}
|
|
522
|
+
get address() {
|
|
523
|
+
if (this.#address === void 0) {
|
|
524
|
+
throw new ImplementationError("This InteractionClient is not bound to a specific peer.");
|
|
525
|
+
}
|
|
526
|
+
return this.#address;
|
|
527
|
+
}
|
|
502
528
|
}
|
|
503
529
|
async function* readChunks(messenger) {
|
|
504
530
|
const leftOverData = new Array();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/action/client/ClientInteraction.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["subscription", "request", "_stack", "_", "_error", "_hasError"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Read } from "#action/request/Read.js";
|
|
7
|
+
import { ClientRequest } from "./ClientRequest.js";
|
|
8
|
+
export interface ClientRead extends Read, ClientRequest {
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ClientRead.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientRead.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientRead.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,UAAW,SAAQ,IAAI,EAAE,aAAa;CAAG"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Represents a client request with customizable transmission behavior.
|
|
8
|
+
*/
|
|
9
|
+
export interface ClientRequest {
|
|
10
|
+
/**
|
|
11
|
+
* If true, the request will be queued over all peers of the node.
|
|
12
|
+
* If false, the request will be sent directly.
|
|
13
|
+
* If undefined, the request will be queued if the physical device is thread connected.
|
|
14
|
+
* TODO Adjust this to be owned by some internal network layer that maintains automatic limits per connection type
|
|
15
|
+
* or such
|
|
16
|
+
* @deprecated
|
|
17
|
+
*/
|
|
18
|
+
queued?: boolean;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ClientRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientRequest.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientRequest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Write } from "#action/request/Write.js";
|
|
7
|
+
import { ClientRequest } from "./ClientRequest.js";
|
|
8
|
+
export interface ClientWrite extends Write, ClientRequest {
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ClientWrite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientWrite.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientWrite.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,WAAY,SAAQ,KAAK,EAAE,aAAa;CAAG"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ClientInvoke, ClientSubscribe, ClientWrite, DecodedInvokeResult, InteractionSession, ReadResult, SubscriptionResult, WriteResult } from "#action/index.js";
|
|
7
|
+
import { InteractionQueue } from "#peer/index.js";
|
|
8
|
+
import { ClientInteraction, ClientInteractionContext } from "./ClientInteraction.js";
|
|
9
|
+
import { ClientRead } from "./ClientRead.js";
|
|
10
|
+
export interface QueuedClientInteractionContext extends ClientInteractionContext {
|
|
11
|
+
queue: InteractionQueue;
|
|
12
|
+
}
|
|
13
|
+
export declare class QueuedClientInteraction<SessionT extends InteractionSession = InteractionSession> extends ClientInteraction<SessionT> {
|
|
14
|
+
#private;
|
|
15
|
+
constructor(options: QueuedClientInteractionContext);
|
|
16
|
+
protected get queue(): InteractionQueue;
|
|
17
|
+
/**
|
|
18
|
+
* Read chosen attributes remotely from the node. Known data versions are automatically injected into the request to
|
|
19
|
+
* optimize the read.
|
|
20
|
+
* Therefore, the returned data only contains attributes that have changed since the last read or subscription.
|
|
21
|
+
* TODO: Allow control of data version injection and enrich response with attribute data missing in response due to data versioning?
|
|
22
|
+
*/
|
|
23
|
+
read(request: ClientRead, session?: SessionT): ReadResult;
|
|
24
|
+
/**
|
|
25
|
+
* Subscribe to remote events and attributes as defined by {@link request}.
|
|
26
|
+
*
|
|
27
|
+
* matter.js updates local state
|
|
28
|
+
*
|
|
29
|
+
* By default, matter.js subscribes to all attributes and events of the peer and updates {@link ClientNode} state
|
|
30
|
+
* automatically. So you normally do not need to subscribe manually.
|
|
31
|
+
*
|
|
32
|
+
* When providing the "sustain" flag, a SustainedSubscription is returned immediately. You need to use the events to
|
|
33
|
+
* know when/if a subscription could be established. This class handles reconnections automatically.
|
|
34
|
+
* When not providing the "sustain" flag, a PeerSubscription is returned after a subscription have been successfully
|
|
35
|
+
* established; or an error is returned if this was not possible.
|
|
36
|
+
*/
|
|
37
|
+
subscribe<T extends ClientSubscribe>(request: T, session?: SessionT): SubscriptionResult<T>;
|
|
38
|
+
/**
|
|
39
|
+
* Write chosen attributes remotely to the node.
|
|
40
|
+
* The returned attribute writing status information is returned.
|
|
41
|
+
*/
|
|
42
|
+
write<T extends ClientWrite>(request: T, session?: SessionT): WriteResult<T>;
|
|
43
|
+
/**
|
|
44
|
+
* Invoke a command remotely on the node.
|
|
45
|
+
* The returned command response is returned as response chunks
|
|
46
|
+
*/
|
|
47
|
+
invoke(request: ClientInvoke, session?: SessionT): DecodedInvokeResult;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=QueuedClientInteraction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueuedClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/QueuedClientInteraction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACH,YAAY,EACZ,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC5E,KAAK,EAAE,gBAAgB,CAAC;CAC3B;AAED,qBAAa,uBAAuB,CAChC,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CAC1D,SAAQ,iBAAiB,CAAC,QAAQ,CAAC;;gBAGrB,OAAO,EAAE,8BAA8B;IAKnD,SAAS,KAAK,KAAK,qBAKlB;IAED;;;;;OAKG;IACa,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU;IAMzE;;;;;;;;;;;;OAYG;IACY,SAAS,CAAC,CAAC,SAAS,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAM1G;;;OAGG;IACY,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;IAM3F;;;OAGG;IACa,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,mBAAmB;CAKzF"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
2
|
+
var __typeError = (msg) => {
|
|
3
|
+
throw TypeError(msg);
|
|
4
|
+
};
|
|
5
|
+
var __using = (stack, value, async) => {
|
|
6
|
+
if (value != null) {
|
|
7
|
+
if (typeof value !== "object" && typeof value !== "function") __typeError("Object expected");
|
|
8
|
+
var dispose, inner;
|
|
9
|
+
if (async) dispose = value[__knownSymbol("asyncDispose")];
|
|
10
|
+
if (dispose === void 0) {
|
|
11
|
+
dispose = value[__knownSymbol("dispose")];
|
|
12
|
+
if (async) inner = dispose;
|
|
13
|
+
}
|
|
14
|
+
if (typeof dispose !== "function") __typeError("Object not disposable");
|
|
15
|
+
if (inner) dispose = function() {
|
|
16
|
+
try {
|
|
17
|
+
inner.call(this);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
return Promise.reject(e);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
stack.push([async, dispose, value]);
|
|
23
|
+
} else if (async) {
|
|
24
|
+
stack.push([async]);
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
};
|
|
28
|
+
var __callDispose = (stack, error, hasError) => {
|
|
29
|
+
var E = typeof SuppressedError === "function" ? SuppressedError : function(e, s, m, _) {
|
|
30
|
+
return _ = Error(m), _.name = "SuppressedError", _.error = e, _.suppressed = s, _;
|
|
31
|
+
};
|
|
32
|
+
var fail = (e) => error = hasError ? new E(e, error, "An error was suppressed during disposal") : (hasError = true, e);
|
|
33
|
+
var next = (it) => {
|
|
34
|
+
while (it = stack.pop()) {
|
|
35
|
+
try {
|
|
36
|
+
var result = it[1] && it[1].call(it[2]);
|
|
37
|
+
if (it[0]) return Promise.resolve(result).then(next, (e) => (fail(e), next()));
|
|
38
|
+
} catch (e) {
|
|
39
|
+
fail(e);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (hasError) throw error;
|
|
43
|
+
};
|
|
44
|
+
return next();
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* @license
|
|
48
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
49
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
50
|
+
*/
|
|
51
|
+
import { InteractionQueue } from "#peer/index.js";
|
|
52
|
+
import { ClientInteraction } from "./ClientInteraction.js";
|
|
53
|
+
class QueuedClientInteraction extends ClientInteraction {
|
|
54
|
+
#queue;
|
|
55
|
+
constructor(options) {
|
|
56
|
+
super(options);
|
|
57
|
+
this.#queue = options.queue;
|
|
58
|
+
}
|
|
59
|
+
get queue() {
|
|
60
|
+
if (this.#queue === void 0) {
|
|
61
|
+
this.#queue = this.environment.get(InteractionQueue);
|
|
62
|
+
}
|
|
63
|
+
return this.#queue;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Read chosen attributes remotely from the node. Known data versions are automatically injected into the request to
|
|
67
|
+
* optimize the read.
|
|
68
|
+
* Therefore, the returned data only contains attributes that have changed since the last read or subscription.
|
|
69
|
+
* TODO: Allow control of data version injection and enrich response with attribute data missing in response due to data versioning?
|
|
70
|
+
*/
|
|
71
|
+
async *read(request, session) {
|
|
72
|
+
var _stack = [];
|
|
73
|
+
try {
|
|
74
|
+
const _slot = __using(_stack, await this.queue.obtainSlot());
|
|
75
|
+
yield* super.read(request, session);
|
|
76
|
+
} catch (_) {
|
|
77
|
+
var _error = _, _hasError = true;
|
|
78
|
+
} finally {
|
|
79
|
+
__callDispose(_stack, _error, _hasError);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Subscribe to remote events and attributes as defined by {@link request}.
|
|
84
|
+
*
|
|
85
|
+
* matter.js updates local state
|
|
86
|
+
*
|
|
87
|
+
* By default, matter.js subscribes to all attributes and events of the peer and updates {@link ClientNode} state
|
|
88
|
+
* automatically. So you normally do not need to subscribe manually.
|
|
89
|
+
*
|
|
90
|
+
* When providing the "sustain" flag, a SustainedSubscription is returned immediately. You need to use the events to
|
|
91
|
+
* know when/if a subscription could be established. This class handles reconnections automatically.
|
|
92
|
+
* When not providing the "sustain" flag, a PeerSubscription is returned after a subscription have been successfully
|
|
93
|
+
* established; or an error is returned if this was not possible.
|
|
94
|
+
*/
|
|
95
|
+
async subscribe(request, session) {
|
|
96
|
+
var _stack = [];
|
|
97
|
+
try {
|
|
98
|
+
const _slot = __using(_stack, await this.queue.obtainSlot());
|
|
99
|
+
return super.subscribe(request, session);
|
|
100
|
+
} catch (_) {
|
|
101
|
+
var _error = _, _hasError = true;
|
|
102
|
+
} finally {
|
|
103
|
+
__callDispose(_stack, _error, _hasError);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Write chosen attributes remotely to the node.
|
|
108
|
+
* The returned attribute writing status information is returned.
|
|
109
|
+
*/
|
|
110
|
+
async write(request, session) {
|
|
111
|
+
var _stack = [];
|
|
112
|
+
try {
|
|
113
|
+
const _slot = __using(_stack, await this.queue.obtainSlot());
|
|
114
|
+
return super.write(request, session);
|
|
115
|
+
} catch (_) {
|
|
116
|
+
var _error = _, _hasError = true;
|
|
117
|
+
} finally {
|
|
118
|
+
__callDispose(_stack, _error, _hasError);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Invoke a command remotely on the node.
|
|
123
|
+
* The returned command response is returned as response chunks
|
|
124
|
+
*/
|
|
125
|
+
async *invoke(request, session) {
|
|
126
|
+
var _stack = [];
|
|
127
|
+
try {
|
|
128
|
+
const _slot = __using(_stack, await this.queue.obtainSlot());
|
|
129
|
+
yield* super.invoke(request, session);
|
|
130
|
+
} catch (_) {
|
|
131
|
+
var _error = _, _hasError = true;
|
|
132
|
+
} finally {
|
|
133
|
+
__callDispose(_stack, _error, _hasError);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
export {
|
|
138
|
+
QueuedClientInteraction
|
|
139
|
+
};
|
|
140
|
+
//# sourceMappingURL=QueuedClientInteraction.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/action/client/QueuedClientInteraction.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA,SAAS,wBAAwB;AACjC,SAAS,yBAAmD;AAOrD,MAAM,gCAEH,kBAA4B;AAAA,EAClC;AAAA,EAEA,YAAY,SAAyC;AACjD,UAAM,OAAO;AACb,SAAK,SAAS,QAAQ;AAAA,EAC1B;AAAA,EAEA,IAAc,QAAQ;AAClB,QAAI,KAAK,WAAW,QAAW;AAC3B,WAAK,SAAS,KAAK,YAAY,IAAI,gBAAgB;AAAA,IACvD;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAgB,KAAK,SAAqB,SAAgC;AACtE;AAAA;AAAA,YAAM,QAAQ,sBAAM,KAAK,MAAM,WAAW;AAE1C,aAAO,MAAM,KAAK,SAAS,OAAO;AAAA,aAFlC;AAAA;AAAA;AAAA;AAAA;AAAA,EAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,MAAe,UAAqC,SAAY,SAA2C;AACvG;AAAA;AAAA,YAAM,QAAQ,sBAAM,KAAK,MAAM,WAAW;AAE1C,aAAO,MAAM,UAAU,SAAS,OAAO;AAAA,aAFvC;AAAA;AAAA;AAAA;AAAA;AAAA,EAGJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAe,MAA6B,SAAY,SAAoC;AACxF;AAAA;AAAA,YAAM,QAAQ,sBAAM,KAAK,MAAM,WAAW;AAE1C,aAAO,MAAM,MAAM,SAAS,OAAO;AAAA,aAFnC;AAAA;AAAA;AAAA;AAAA;AAAA,EAGJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAgB,OAAO,SAAuB,SAAyC;AACnF;AAAA;AAAA,YAAM,QAAQ,sBAAM,KAAK,MAAM,WAAW;AAE1C,aAAO,MAAM,OAAO,SAAS,OAAO;AAAA,aAFpC;AAAA;AAAA;AAAA;AAAA;AAAA,EAGJ;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -4,7 +4,11 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
export * from "./ClientInteraction.js";
|
|
7
|
+
export * from "./ClientRead.js";
|
|
8
|
+
export * from "./ClientRequest.js";
|
|
9
|
+
export * from "./ClientWrite.js";
|
|
7
10
|
export * from "./InputChunk.js";
|
|
11
|
+
export * from "./QueuedClientInteraction.js";
|
|
8
12
|
export * from "./ReadScope.js";
|
|
9
13
|
export * from "./subscription/index.js";
|
|
10
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/action/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/action/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
|
|
@@ -4,7 +4,11 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
export * from "./ClientInteraction.js";
|
|
7
|
+
export * from "./ClientRead.js";
|
|
8
|
+
export * from "./ClientRequest.js";
|
|
9
|
+
export * from "./ClientWrite.js";
|
|
7
10
|
export * from "./InputChunk.js";
|
|
11
|
+
export * from "./QueuedClientInteraction.js";
|
|
8
12
|
export * from "./ReadScope.js";
|
|
9
13
|
export * from "./subscription/index.js";
|
|
10
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/action/client/index.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Subscribe } from "#action/request/Subscribe.js";
|
|
2
|
-
|
|
2
|
+
import { ClientRequest } from "../ClientRequest.js";
|
|
3
|
+
export interface ClientSubscribe extends Subscribe, ClientRequest {
|
|
3
4
|
/**
|
|
4
5
|
* If true the subscription is virtualized and the underlying subscription is reestablished when lost.
|
|
5
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientSubscribe.d.ts","sourceRoot":"","sources":["../../../../../src/action/client/subscription/ClientSubscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"ClientSubscribe.d.ts","sourceRoot":"","sources":["../../../../../src/action/client/subscription/ClientSubscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,eAAgB,SAAQ,SAAS,EAAE,aAAa;IAC7D;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientSubscriptionHandler.d.ts","sourceRoot":"","sources":["../../../../../src/action/client/subscription/ClientSubscriptionHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D;;GAEG;AACH,qBAAa,yBAA0B,YAAW,eAAe;;IAC7D,EAAE,SAA2B;IAC7B,qBAAqB,UAAQ;gBAIjB,aAAa,EAAE,mBAAmB;IAIxC,aAAa,CAAC,QAAQ,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"ClientSubscriptionHandler.d.ts","sourceRoot":"","sources":["../../../../../src/action/client/subscription/ClientSubscriptionHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D;;GAEG;AACH,qBAAa,yBAA0B,YAAW,eAAe;;IAC7D,EAAE,SAA2B;IAC7B,qBAAqB,UAAQ;gBAIjB,aAAa,EAAE,mBAAmB;IAIxC,aAAa,CAAC,QAAQ,EAAE,eAAe;IAiEvC,KAAK;CACd"}
|
|
@@ -35,7 +35,10 @@ class ClientSubscriptionHandler {
|
|
|
35
35
|
SecureSession.assert(session);
|
|
36
36
|
const subscription = this.#subscriptions.getPeer(session.peerAddress, subscriptionId);
|
|
37
37
|
if (subscription === void 0) {
|
|
38
|
-
logger.info(
|
|
38
|
+
logger.info(
|
|
39
|
+
"Ignoring data report for unknown subscription ID",
|
|
40
|
+
Diagnostic.strong(Subscription.idStrOf(subscriptionId))
|
|
41
|
+
);
|
|
39
42
|
await sendInvalid(messenger, subscriptionId);
|
|
40
43
|
return;
|
|
41
44
|
}
|
|
@@ -44,7 +47,10 @@ class ClientSubscriptionHandler {
|
|
|
44
47
|
if (!initialReport.attributeReports?.length && !initialReport.eventReports?.length) {
|
|
45
48
|
const ending = await reports.next();
|
|
46
49
|
if (!ending.done) {
|
|
47
|
-
logger.warn(
|
|
50
|
+
logger.warn(
|
|
51
|
+
"Unexpected data reports after empty report",
|
|
52
|
+
Diagnostic.strong(Subscription.idStrOf(subscriptionId))
|
|
53
|
+
);
|
|
48
54
|
for await (const _chunk of reports) ;
|
|
49
55
|
}
|
|
50
56
|
} else {
|
|
@@ -83,7 +89,12 @@ async function* processReports(initialReport, otherReports, messenger) {
|
|
|
83
89
|
continue;
|
|
84
90
|
}
|
|
85
91
|
if (reportSubscriptionId !== subscriptionId) {
|
|
86
|
-
logger.debug(
|
|
92
|
+
logger.debug(
|
|
93
|
+
"Ignoring data report for incorrect subscription id",
|
|
94
|
+
Diagnostic.strong(Subscription.idStrOf(reportSubscriptionId)),
|
|
95
|
+
"expected",
|
|
96
|
+
Subscription.idStrOf(subscriptionId)
|
|
97
|
+
);
|
|
87
98
|
await sendInvalid(messenger, reportSubscriptionId);
|
|
88
99
|
continue;
|
|
89
100
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/action/client/subscription/ClientSubscriptionHandler.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,YAAY,eAAe,cAAc;AAClD,SAAS,0CAA0C;AACnD,SAAS,oBAAoC;AAG7C,SAAS,qBAAqB;AAC9B,SAAqB,yBAAyB,cAAkD;AAChG,SAAS,kBAAkB;AAG3B,MAAM,SAAS,OAAO,IAAI,2BAA2B;AAK9C,MAAM,0BAAqD;AAAA,EAC9D,KAAK;AAAA,EACL,wBAAwB;AAAA,EAExB;AAAA,EAEA,YAAY,eAAoC;AAC5C,SAAK,iBAAiB;AAAA,EAC1B;AAAA,EAEA,MAAM,cAAc,UAA2B;AAC3C,UAAM,YAAY,IAAI,mCAAmC,QAAQ;AAEjE,UAAM,UAAU,UAAU,gBAAgB;AAE1C,UAAM,mBAAmB,MAAM,QAAQ,KAAK;AAC5C,QAAI,iBAAiB,MAAM;AACvB,YAAM,IAAI,cAAc,4CAA4C;AAAA,IACxE;AACA,UAAM,gBAAgB,iBAAiB;AAGvC,UAAM,EAAE,eAAe,IAAI;AAC3B,QAAI,mBAAmB,QAAW;AAC9B,aAAO,MAAM,0DAA0D;AACvE,YAAM,YAAY,WAAW,MAAS;AACtC;AAAA,IACJ;AAGA,UAAM,EAAE,QAAQ,IAAI,SAAS;AAC7B,kBAAc,OAAO,OAAO;AAC5B,UAAM,eAAe,KAAK,eAAe,QAAQ,QAAQ,aAAa,cAAc;AACpF,QAAI,iBAAiB,QAAW;AAC5B,aAAO,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -22,7 +22,7 @@ export declare class SustainedSubscription extends ClientSubscription {
|
|
|
22
22
|
#private;
|
|
23
23
|
constructor(config: SustainedSubscription.Configuration);
|
|
24
24
|
/**
|
|
25
|
-
* Emits when active state changes.
|
|
25
|
+
* Emits when the active state changes.
|
|
26
26
|
*/
|
|
27
27
|
get active(): AsyncObservableValue<[any, ...any[]]>;
|
|
28
28
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SustainedSubscription.d.ts","sourceRoot":"","sources":["../../../../../src/action/client/subscription/SustainedSubscription.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAEH,oBAAoB,EAMpB,aAAa,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD;;;;;;;;;GASG;AACH,qBAAa,qBAAsB,SAAQ,kBAAkB;;gBAQ7C,MAAM,EAAE,qBAAqB,CAAC,aAAa;IAWvD;;OAEG;IACH,IAAI,MAAM,0CAET;IAED;;OAEG;IACH,IAAI,QAAQ,0CAEX;
|
|
1
|
+
{"version":3,"file":"SustainedSubscription.d.ts","sourceRoot":"","sources":["../../../../../src/action/client/subscription/SustainedSubscription.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAEH,oBAAoB,EAMpB,aAAa,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD;;;;;;;;;GASG;AACH,qBAAa,qBAAsB,SAAQ,kBAAkB;;gBAQ7C,MAAM,EAAE,qBAAqB,CAAC,aAAa;IAWvD;;OAEG;IACH,IAAI,MAAM,0CAET;IAED;;OAEG;IACH,IAAI,QAAQ,0CAEX;IAuED,IAAI,wBAAwB,WAE3B;IAED,IAAI,WAAW,WAEd;CACJ;AAED,yBAAiB,qBAAqB,CAAC;IACnC;;OAEG;IACH,UAAiB,aAAc,SAAQ,kBAAkB,CAAC,aAAa;QACnE;;WAEG;QACH,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE7D;;;;;WAKG;QACH,OAAO,EAAE,aAAa,CAAC;KAC1B;IAED,SAAgB,MAAM,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,IAAI,qBAAqB,CAIrG;IAEM,MAAM,oBAAoB,EAAE,aAAa,CAAC,aAgBhD,CAAC;CACL"}
|
|
@@ -33,7 +33,7 @@ class SustainedSubscription extends ClientSubscription {
|
|
|
33
33
|
this.done = this.#run();
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
|
-
* Emits when active state changes.
|
|
36
|
+
* Emits when the active state changes.
|
|
37
37
|
*/
|
|
38
38
|
get active() {
|
|
39
39
|
return this.#active;
|
|
@@ -90,9 +90,6 @@ class SustainedSubscription extends ClientSubscription {
|
|
|
90
90
|
if (this.abort.aborted) {
|
|
91
91
|
break;
|
|
92
92
|
}
|
|
93
|
-
if (this.abort.aborted) {
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
93
|
logger.error(`Replacing subscription to ${this.peer} due to timeout`);
|
|
97
94
|
}
|
|
98
95
|
this.#request.closed?.();
|