@fluid-internal/presence-runtime 2.93.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +72 -0
- package/dist/package.json +4 -0
- package/dist/packageVersion.d.ts +9 -0
- package/dist/packageVersion.d.ts.map +1 -0
- package/dist/packageVersion.js +12 -0
- package/dist/packageVersion.js.map +1 -0
- package/dist/runtime/extension/containerPresence.d.ts +53 -0
- package/dist/runtime/extension/containerPresence.d.ts.map +1 -0
- package/dist/runtime/extension/containerPresence.js +90 -0
- package/dist/runtime/extension/containerPresence.js.map +1 -0
- package/dist/runtime/extension/index.d.ts +6 -0
- package/dist/runtime/extension/index.d.ts.map +1 -0
- package/dist/runtime/extension/index.js +11 -0
- package/dist/runtime/extension/index.js.map +1 -0
- package/dist/runtime/presenceDatastoreManager.d.ts +146 -0
- package/dist/runtime/presenceDatastoreManager.d.ts.map +1 -0
- package/dist/runtime/presenceDatastoreManager.js +666 -0
- package/dist/runtime/presenceDatastoreManager.js.map +1 -0
- package/dist/runtime/presenceManager.d.ts +16 -0
- package/dist/runtime/presenceManager.d.ts.map +1 -0
- package/dist/runtime/presenceManager.js +140 -0
- package/dist/runtime/presenceManager.js.map +1 -0
- package/dist/runtime/protocol.d.ts +126 -0
- package/dist/runtime/protocol.d.ts.map +1 -0
- package/dist/runtime/protocol.js +20 -0
- package/dist/runtime/protocol.js.map +1 -0
- package/dist/runtime/runtimeTypes.d.ts +26 -0
- package/dist/runtime/runtimeTypes.d.ts.map +1 -0
- package/dist/runtime/runtimeTypes.js +7 -0
- package/dist/runtime/runtimeTypes.js.map +1 -0
- package/dist/runtime/systemWorkspace.d.ts +39 -0
- package/dist/runtime/systemWorkspace.d.ts.map +1 -0
- package/dist/runtime/systemWorkspace.js +264 -0
- package/dist/runtime/systemWorkspace.js.map +1 -0
- package/dist/runtime/test/presenceDatastoreManager.spec.js +618 -0
- package/dist/runtime/test/presenceDatastoreManager.spec.js.map +1 -0
- package/dist/runtime/test/presenceManager.spec.js +651 -0
- package/dist/runtime/test/presenceManager.spec.js.map +1 -0
- package/dist/runtime/test.d.ts +12 -0
- package/dist/runtime/test.d.ts.map +1 -0
- package/dist/runtime/test.js +15 -0
- package/dist/runtime/test.js.map +1 -0
- package/dist/states/index.d.ts +7 -0
- package/dist/states/index.d.ts.map +1 -0
- package/dist/states/index.js +12 -0
- package/dist/states/index.js.map +1 -0
- package/dist/states/latestMapValueManager.d.ts +10 -0
- package/dist/states/latestMapValueManager.d.ts.map +1 -0
- package/dist/states/latestMapValueManager.js +248 -0
- package/dist/states/latestMapValueManager.js.map +1 -0
- package/dist/states/latestValueManager.d.ts +10 -0
- package/dist/states/latestValueManager.d.ts.map +1 -0
- package/dist/states/latestValueManager.js +115 -0
- package/dist/states/latestValueManager.js.map +1 -0
- package/dist/states/notificationsManager.d.ts +26 -0
- package/dist/states/notificationsManager.d.ts.map +1 -0
- package/dist/states/notificationsManager.js +97 -0
- package/dist/states/notificationsManager.js.map +1 -0
- package/dist/states/presence.d.ts +11 -0
- package/dist/states/presence.d.ts.map +1 -0
- package/dist/states/presence.js +7 -0
- package/dist/states/presence.js.map +1 -0
- package/dist/states/stateFactory.d.ts +18 -0
- package/dist/states/stateFactory.d.ts.map +1 -0
- package/dist/states/stateFactory.js +23 -0
- package/dist/states/stateFactory.js.map +1 -0
- package/dist/states/test/batching.spec.js +843 -0
- package/dist/states/test/batching.spec.js.map +1 -0
- package/dist/states/test/broadcastControlsTests.js +60 -0
- package/dist/states/test/broadcastControlsTests.js.map +1 -0
- package/dist/states/test/eventing.spec.js +576 -0
- package/dist/states/test/eventing.spec.js.map +1 -0
- package/dist/states/test/latestMapValueManager.spec.js +210 -0
- package/dist/states/test/latestMapValueManager.spec.js.map +1 -0
- package/dist/states/test/latestValueManager.spec.js +193 -0
- package/dist/states/test/latestValueManager.spec.js.map +1 -0
- package/dist/states/test/mockEphemeralRuntime.js +11 -0
- package/dist/states/test/mockEphemeralRuntime.js.map +1 -0
- package/dist/states/test/notificationsManager.spec.js +460 -0
- package/dist/states/test/notificationsManager.spec.js.map +1 -0
- package/dist/states/test/presenceStates.spec.js +73 -0
- package/dist/states/test/presenceStates.spec.js.map +1 -0
- package/dist/states/test/schemaValidation/protocol.spec.js +246 -0
- package/dist/states/test/schemaValidation/protocol.spec.js.map +1 -0
- package/dist/states/test/schemaValidation/valueManagers.spec.js +784 -0
- package/dist/states/test/schemaValidation/valueManagers.spec.js.map +1 -0
- package/dist/states/test/testUtils.js +21 -0
- package/dist/states/test/testUtils.js.map +1 -0
- package/dist/states/validatedGetter.d.ts +18 -0
- package/dist/states/validatedGetter.d.ts.map +1 -0
- package/dist/states/validatedGetter.js +43 -0
- package/dist/states/validatedGetter.js.map +1 -0
- package/dist/test/mockEphemeralRuntime.js +175 -0
- package/dist/test/mockEphemeralRuntime.js.map +1 -0
- package/dist/test/testUtils.js +262 -0
- package/dist/test/testUtils.js.map +1 -0
- package/dist/test/utils/index.js +27 -0
- package/dist/test/utils/index.js.map +1 -0
- package/dist/utils/broadcastControls.d.ts +37 -0
- package/dist/utils/broadcastControls.d.ts.map +1 -0
- package/dist/utils/broadcastControls.js +60 -0
- package/dist/utils/broadcastControls.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +26 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/internalUtils.d.ts +125 -0
- package/dist/utils/internalUtils.d.ts.map +1 -0
- package/dist/utils/internalUtils.js +99 -0
- package/dist/utils/internalUtils.js.map +1 -0
- package/dist/utils/test/timerManager.spec.js +93 -0
- package/dist/utils/test/timerManager.spec.js.map +1 -0
- package/dist/utils/timerManager.d.ts +37 -0
- package/dist/utils/timerManager.d.ts.map +1 -0
- package/dist/utils/timerManager.js +65 -0
- package/dist/utils/timerManager.js.map +1 -0
- package/dist/utils/valueManager.d.ts +14 -0
- package/dist/utils/valueManager.d.ts.map +1 -0
- package/dist/utils/valueManager.js +22 -0
- package/dist/utils/valueManager.js.map +1 -0
- package/dist/workspace/index.d.ts +7 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +14 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/presenceStates.d.ts +61 -0
- package/dist/workspace/presenceStates.d.ts.map +1 -0
- package/dist/workspace/presenceStates.js +235 -0
- package/dist/workspace/presenceStates.js.map +1 -0
- package/dist/workspace/stateDatastore.d.ts +17 -0
- package/dist/workspace/stateDatastore.d.ts.map +1 -0
- package/dist/workspace/stateDatastore.js +24 -0
- package/dist/workspace/stateDatastore.js.map +1 -0
- package/lib/packageVersion.d.ts +9 -0
- package/lib/packageVersion.d.ts.map +1 -0
- package/lib/packageVersion.js +9 -0
- package/lib/packageVersion.js.map +1 -0
- package/lib/runtime/extension/containerPresence.d.ts +53 -0
- package/lib/runtime/extension/containerPresence.d.ts.map +1 -0
- package/lib/runtime/extension/containerPresence.js +87 -0
- package/lib/runtime/extension/containerPresence.js.map +1 -0
- package/lib/runtime/extension/index.d.ts +6 -0
- package/lib/runtime/extension/index.d.ts.map +1 -0
- package/lib/runtime/extension/index.js +6 -0
- package/lib/runtime/extension/index.js.map +1 -0
- package/lib/runtime/presenceDatastoreManager.d.ts +146 -0
- package/lib/runtime/presenceDatastoreManager.d.ts.map +1 -0
- package/lib/runtime/presenceDatastoreManager.js +662 -0
- package/lib/runtime/presenceDatastoreManager.js.map +1 -0
- package/lib/runtime/presenceManager.d.ts +16 -0
- package/lib/runtime/presenceManager.d.ts.map +1 -0
- package/lib/runtime/presenceManager.js +136 -0
- package/lib/runtime/presenceManager.js.map +1 -0
- package/lib/runtime/protocol.d.ts +126 -0
- package/lib/runtime/protocol.d.ts.map +1 -0
- package/lib/runtime/protocol.js +17 -0
- package/lib/runtime/protocol.js.map +1 -0
- package/lib/runtime/runtimeTypes.d.ts +26 -0
- package/lib/runtime/runtimeTypes.d.ts.map +1 -0
- package/lib/runtime/runtimeTypes.js +6 -0
- package/lib/runtime/runtimeTypes.js.map +1 -0
- package/lib/runtime/systemWorkspace.d.ts +39 -0
- package/lib/runtime/systemWorkspace.d.ts.map +1 -0
- package/lib/runtime/systemWorkspace.js +260 -0
- package/lib/runtime/systemWorkspace.js.map +1 -0
- package/lib/runtime/test/presenceDatastoreManager.spec.js +616 -0
- package/lib/runtime/test/presenceDatastoreManager.spec.js.map +1 -0
- package/lib/runtime/test/presenceManager.spec.js +649 -0
- package/lib/runtime/test/presenceManager.spec.js.map +1 -0
- package/lib/runtime/test.d.ts +12 -0
- package/lib/runtime/test.d.ts.map +1 -0
- package/lib/runtime/test.js +10 -0
- package/lib/runtime/test.js.map +1 -0
- package/lib/states/index.d.ts +7 -0
- package/lib/states/index.d.ts.map +1 -0
- package/lib/states/index.js +7 -0
- package/lib/states/index.js.map +1 -0
- package/lib/states/latestMapValueManager.d.ts +10 -0
- package/lib/states/latestMapValueManager.d.ts.map +1 -0
- package/lib/states/latestMapValueManager.js +244 -0
- package/lib/states/latestMapValueManager.js.map +1 -0
- package/lib/states/latestValueManager.d.ts +10 -0
- package/lib/states/latestValueManager.d.ts.map +1 -0
- package/lib/states/latestValueManager.js +111 -0
- package/lib/states/latestValueManager.js.map +1 -0
- package/lib/states/notificationsManager.d.ts +26 -0
- package/lib/states/notificationsManager.d.ts.map +1 -0
- package/lib/states/notificationsManager.js +93 -0
- package/lib/states/notificationsManager.js.map +1 -0
- package/lib/states/presence.d.ts +11 -0
- package/lib/states/presence.d.ts.map +1 -0
- package/lib/states/presence.js +6 -0
- package/lib/states/presence.js.map +1 -0
- package/lib/states/stateFactory.d.ts +18 -0
- package/lib/states/stateFactory.d.ts.map +1 -0
- package/lib/states/stateFactory.js +20 -0
- package/lib/states/stateFactory.js.map +1 -0
- package/lib/states/test/batching.spec.js +841 -0
- package/lib/states/test/batching.spec.js.map +1 -0
- package/lib/states/test/broadcastControlsTests.js +56 -0
- package/lib/states/test/broadcastControlsTests.js.map +1 -0
- package/lib/states/test/eventing.spec.js +574 -0
- package/lib/states/test/eventing.spec.js.map +1 -0
- package/lib/states/test/latestMapValueManager.spec.js +206 -0
- package/lib/states/test/latestMapValueManager.spec.js.map +1 -0
- package/lib/states/test/latestValueManager.spec.js +189 -0
- package/lib/states/test/latestValueManager.spec.js.map +1 -0
- package/lib/states/test/mockEphemeralRuntime.js +6 -0
- package/lib/states/test/mockEphemeralRuntime.js.map +1 -0
- package/lib/states/test/notificationsManager.spec.js +456 -0
- package/lib/states/test/notificationsManager.spec.js.map +1 -0
- package/lib/states/test/presenceStates.spec.js +69 -0
- package/lib/states/test/presenceStates.spec.js.map +1 -0
- package/lib/states/test/schemaValidation/protocol.spec.js +244 -0
- package/lib/states/test/schemaValidation/protocol.spec.js.map +1 -0
- package/lib/states/test/schemaValidation/valueManagers.spec.js +782 -0
- package/lib/states/test/schemaValidation/valueManagers.spec.js.map +1 -0
- package/lib/states/test/testUtils.js +6 -0
- package/lib/states/test/testUtils.js.map +1 -0
- package/lib/states/validatedGetter.d.ts +18 -0
- package/lib/states/validatedGetter.d.ts.map +1 -0
- package/lib/states/validatedGetter.js +39 -0
- package/lib/states/validatedGetter.js.map +1 -0
- package/lib/test/mockEphemeralRuntime.js +171 -0
- package/lib/test/mockEphemeralRuntime.js.map +1 -0
- package/lib/test/testUtils.js +251 -0
- package/lib/test/testUtils.js.map +1 -0
- package/lib/test/utils/index.js +8 -0
- package/lib/test/utils/index.js.map +1 -0
- package/lib/utils/broadcastControls.d.ts +37 -0
- package/lib/utils/broadcastControls.d.ts.map +1 -0
- package/lib/utils/broadcastControls.js +55 -0
- package/lib/utils/broadcastControls.js.map +1 -0
- package/lib/utils/index.d.ts +9 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +9 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/internalUtils.d.ts +125 -0
- package/lib/utils/internalUtils.d.ts.map +1 -0
- package/lib/utils/internalUtils.js +90 -0
- package/lib/utils/internalUtils.js.map +1 -0
- package/lib/utils/test/timerManager.spec.js +91 -0
- package/lib/utils/test/timerManager.spec.js.map +1 -0
- package/lib/utils/timerManager.d.ts +37 -0
- package/lib/utils/timerManager.d.ts.map +1 -0
- package/lib/utils/timerManager.js +61 -0
- package/lib/utils/timerManager.js.map +1 -0
- package/lib/utils/valueManager.d.ts +14 -0
- package/lib/utils/valueManager.d.ts.map +1 -0
- package/lib/utils/valueManager.js +17 -0
- package/lib/utils/valueManager.js.map +1 -0
- package/lib/workspace/index.d.ts +7 -0
- package/lib/workspace/index.d.ts.map +1 -0
- package/lib/workspace/index.js +7 -0
- package/lib/workspace/index.js.map +1 -0
- package/lib/workspace/presenceStates.d.ts +61 -0
- package/lib/workspace/presenceStates.d.ts.map +1 -0
- package/lib/workspace/presenceStates.js +229 -0
- package/lib/workspace/presenceStates.js.map +1 -0
- package/lib/workspace/stateDatastore.d.ts +17 -0
- package/lib/workspace/stateDatastore.d.ts.map +1 -0
- package/lib/workspace/stateDatastore.js +19 -0
- package/lib/workspace/stateDatastore.js.map +1 -0
- package/package.json +158 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import type { AttendeeId, BroadcastControlSettings, ClientConnectionId, NotificationsWorkspace, NotificationsWorkspaceSchema, PresenceWithNotifications as Presence, PresenceEvents, StatesWorkspace, StatesWorkspaceSchema, WorkspaceAddress } from "@fluid-internal/presence-definitions";
|
|
6
|
+
import type { AnyWorkspace } from "@fluid-internal/presence-definitions/internal";
|
|
7
|
+
import type { PresenceStatesInternal } from "@fluid-internal/presence-definitions/internal/workspace-runtime";
|
|
8
|
+
import type { InboundExtensionMessage } from "@fluidframework/container-runtime-definitions/internal";
|
|
9
|
+
import type { IEmitter } from "@fluidframework/core-interfaces/internal";
|
|
10
|
+
import type { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
|
|
11
|
+
import type { InternalWorkspaceAddress, SignalMessages, SystemWorkspaceDatastore } from "./protocol.js";
|
|
12
|
+
import type { IEphemeralRuntime } from "./runtimeTypes.js";
|
|
13
|
+
interface AnyWorkspaceEntry<TSchema extends StatesWorkspaceSchema> {
|
|
14
|
+
public: AnyWorkspace<TSchema>;
|
|
15
|
+
internal: PresenceStatesInternal;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* High-level contract for manager of singleton Presence datastore
|
|
19
|
+
*/
|
|
20
|
+
export interface PresenceDatastoreManager {
|
|
21
|
+
joinSession(clientId: ClientConnectionId, alternateProvider: ClientConnectionId | undefined): void;
|
|
22
|
+
onDisconnected(): void;
|
|
23
|
+
getWorkspace<TSchema extends Partial<StatesWorkspaceSchema<TSchemaKeys>>, TSchemaKeys extends string & keyof TSchema>(internalWorkspaceAddress: `s:${WorkspaceAddress}`, requestedContent: TSchema, controls?: BroadcastControlSettings): StatesWorkspace<TSchema, unknown, TSchemaKeys>;
|
|
24
|
+
getWorkspace<TSchema extends Partial<NotificationsWorkspaceSchema<TSchemaKeys>>, TSchemaKeys extends string & keyof TSchema>(internalWorkspaceAddress: `n:${WorkspaceAddress}`, requestedContent: TSchema): NotificationsWorkspace<TSchema, TSchemaKeys>;
|
|
25
|
+
processSignal(message: InboundExtensionMessage<SignalMessages> & {
|
|
26
|
+
clientId: ClientConnectionId;
|
|
27
|
+
}, local: boolean, optional: boolean): void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Delays used for broadcasting join responses to clients.
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
33
|
+
* Exported for test coordination.
|
|
34
|
+
* These could be made customizable in the future to accommodate different
|
|
35
|
+
* session configurations.
|
|
36
|
+
*/
|
|
37
|
+
export declare const broadcastJoinResponseDelaysMs: {
|
|
38
|
+
/**
|
|
39
|
+
* The delay in milliseconds before a join response is sent to any client.
|
|
40
|
+
* This is used to accumulate other join response requests and reduce
|
|
41
|
+
* network traffic.
|
|
42
|
+
*/
|
|
43
|
+
readonly namedResponder: 200;
|
|
44
|
+
/**
|
|
45
|
+
* The additional delay in milliseconds a backup responder waits before sending
|
|
46
|
+
* a join response to allow others to respond first.
|
|
47
|
+
*/
|
|
48
|
+
readonly backupResponderIncrement: 40;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Manages singleton datastore for all Presence.
|
|
52
|
+
*/
|
|
53
|
+
export declare class PresenceDatastoreManagerImpl implements PresenceDatastoreManager {
|
|
54
|
+
private readonly attendeeId;
|
|
55
|
+
private readonly runtime;
|
|
56
|
+
private readonly logger;
|
|
57
|
+
private readonly events;
|
|
58
|
+
private readonly presence;
|
|
59
|
+
private readonly datastore;
|
|
60
|
+
private averageLatency;
|
|
61
|
+
private returnedMessages;
|
|
62
|
+
private readonly sendMessageTimer;
|
|
63
|
+
private readonly workspaces;
|
|
64
|
+
private readonly targetedSignalSupport;
|
|
65
|
+
/**
|
|
66
|
+
* Tracks whether this client has complete snapshot level knowledge and
|
|
67
|
+
* how that determination was reached.
|
|
68
|
+
* - "alone": no other audience members detected at join
|
|
69
|
+
* - "join response": another client has responded to our join request
|
|
70
|
+
* - "full requests": all others have requested response from us
|
|
71
|
+
*
|
|
72
|
+
* @remarks
|
|
73
|
+
* Only applies when not using targeted join responses.
|
|
74
|
+
*
|
|
75
|
+
* Without a complete snapshot, we cannot fully onboard any other clients.
|
|
76
|
+
* One exception to this is if this client is the only participant in the
|
|
77
|
+
* session. In such a case, there is no one to respond to the join request.
|
|
78
|
+
* Another exception is multiple clients attempting to join at the same
|
|
79
|
+
* time and thus expecting that someone has full knowledge, yet none have
|
|
80
|
+
* received a complete update to think they are qualified to respond.
|
|
81
|
+
* Generically if the number of outstanding requestors meets or exceeds the
|
|
82
|
+
* count of other audience members, then we can consider the snapshot
|
|
83
|
+
* complete (as all will have provided their own complete information in
|
|
84
|
+
* their join responses).
|
|
85
|
+
*/
|
|
86
|
+
private reasonForCompleteSnapshot?;
|
|
87
|
+
/**
|
|
88
|
+
* Map of outstanding broadcast (join response) requests.
|
|
89
|
+
*/
|
|
90
|
+
private readonly broadcastRequests;
|
|
91
|
+
/**
|
|
92
|
+
* Timer for managing broadcast (join response) request timing.
|
|
93
|
+
*/
|
|
94
|
+
private readonly broadcastRequestsTimer;
|
|
95
|
+
constructor(attendeeId: AttendeeId, runtime: IEphemeralRuntime, logger: ITelemetryLoggerExt, events: IEmitter<PresenceEvents>, presence: Presence, systemWorkspaceDatastore: SystemWorkspaceDatastore, systemWorkspace: AnyWorkspaceEntry<StatesWorkspaceSchema>);
|
|
96
|
+
private getAudienceInformation;
|
|
97
|
+
joinSession(selfClientId: ClientConnectionId, alternateProvider?: ClientConnectionId | undefined): void;
|
|
98
|
+
onDisconnected(): void;
|
|
99
|
+
getWorkspace<TSchema extends StatesWorkspaceSchema>(internalWorkspaceAddress: InternalWorkspaceAddress, requestedContent: TSchema, controls?: BroadcastControlSettings): AnyWorkspace<TSchema>;
|
|
100
|
+
/**
|
|
101
|
+
* The combined contents of all queued updates. Will be `"sendAll"` when a
|
|
102
|
+
* full broadcast is pending or `undefined` when no messages are queued.
|
|
103
|
+
*/
|
|
104
|
+
private queuedData;
|
|
105
|
+
/**
|
|
106
|
+
* Enqueues a new message to be sent. The message may be queued or may be sent immediately depending on the state of
|
|
107
|
+
* the send timer, other messages in the queue, the configured allowed latency, etc.
|
|
108
|
+
*/
|
|
109
|
+
private enqueueMessage;
|
|
110
|
+
/**
|
|
111
|
+
* Send any queued signal immediately. Does nothing if no message is queued.
|
|
112
|
+
*/
|
|
113
|
+
private sendQueuedMessage;
|
|
114
|
+
/**
|
|
115
|
+
* Recursively strips validation metadata (validatedValue) from datastore before broadcasting.
|
|
116
|
+
* This ensures that validation metadata doesn't leak into signals sent to other clients.
|
|
117
|
+
*/
|
|
118
|
+
private stripValidationMetadata;
|
|
119
|
+
/**
|
|
120
|
+
* Strips validation metadata from individual value data entries.
|
|
121
|
+
*/
|
|
122
|
+
private stripValidationFromValueData;
|
|
123
|
+
private broadcastAllKnownState;
|
|
124
|
+
processSignal(message: InboundExtensionMessage<SignalMessages> & {
|
|
125
|
+
clientId: ClientConnectionId;
|
|
126
|
+
}, local: boolean, optional: boolean): void;
|
|
127
|
+
/**
|
|
128
|
+
* Broadcasts a join response (complete datastore update message)
|
|
129
|
+
* if there is an outstanding join response request.
|
|
130
|
+
*/
|
|
131
|
+
private readonly sendJoinResponseIfStillNeeded;
|
|
132
|
+
/**
|
|
133
|
+
* Handles responding to another client joining the session.
|
|
134
|
+
*
|
|
135
|
+
* @param updateProviders - list of client connection id's that requestor selected
|
|
136
|
+
* to provide response
|
|
137
|
+
* @param requestor - `requestor` is only used in telemetry. While it is the requestor's
|
|
138
|
+
* client connection id, that is not most important. It is important that this is a
|
|
139
|
+
* unique shared id across all clients that might respond as we want to monitor the
|
|
140
|
+
* response patterns. The convenience of being client connection id will allow
|
|
141
|
+
* correlation with other telemetry where it is often called just `clientId`.
|
|
142
|
+
*/
|
|
143
|
+
private prepareJoinResponse;
|
|
144
|
+
}
|
|
145
|
+
export {};
|
|
146
|
+
//# sourceMappingURL=presenceDatastoreManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presenceDatastoreManager.d.ts","sourceRoot":"","sources":["../../src/runtime/presenceDatastoreManager.ts"],"names":[],"mappings":"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"}
|