@fluidframework/container-loader 1.4.0-115997 → 2.0.0-dev-rc.1.0.0.224419
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/.eslintrc.js +18 -21
- package/.mocharc.js +12 -0
- package/CHANGELOG.md +364 -0
- package/README.md +152 -56
- package/api-extractor-lint.json +4 -0
- package/api-extractor.json +2 -2
- package/api-report/container-loader.api.md +143 -0
- package/dist/{audience.js → audience.cjs} +15 -13
- package/dist/audience.cjs.map +1 -0
- package/dist/audience.d.ts +3 -6
- package/dist/audience.d.ts.map +1 -1
- package/dist/catchUpMonitor.cjs +43 -0
- package/dist/catchUpMonitor.cjs.map +1 -0
- package/dist/catchUpMonitor.d.ts +29 -0
- package/dist/catchUpMonitor.d.ts.map +1 -0
- package/dist/{connectionManager.js → connectionManager.cjs} +397 -240
- package/dist/connectionManager.cjs.map +1 -0
- package/dist/connectionManager.d.ts +23 -33
- package/dist/connectionManager.d.ts.map +1 -1
- package/dist/{connectionState.js → connectionState.cjs} +5 -7
- package/dist/connectionState.cjs.map +1 -0
- package/dist/connectionState.d.ts +3 -5
- package/dist/connectionState.d.ts.map +1 -1
- package/dist/connectionStateHandler.cjs +474 -0
- package/dist/connectionStateHandler.cjs.map +1 -0
- package/dist/connectionStateHandler.d.ts +127 -29
- package/dist/connectionStateHandler.d.ts.map +1 -1
- package/dist/container-loader-alpha.d.ts +274 -0
- package/dist/container-loader-beta.d.ts +75 -0
- package/dist/container-loader-public.d.ts +75 -0
- package/dist/container-loader-untrimmed.d.ts +331 -0
- package/dist/container.cjs +1585 -0
- package/dist/container.cjs.map +1 -0
- package/dist/container.d.ts +227 -83
- package/dist/container.d.ts.map +1 -1
- package/dist/containerContext.cjs +74 -0
- package/dist/containerContext.cjs.map +1 -0
- package/dist/containerContext.d.ts +33 -59
- package/dist/containerContext.d.ts.map +1 -1
- package/dist/containerStorageAdapter.cjs +234 -0
- package/dist/containerStorageAdapter.cjs.map +1 -0
- package/dist/containerStorageAdapter.d.ts +48 -23
- package/dist/containerStorageAdapter.d.ts.map +1 -1
- package/dist/{contracts.js → contracts.cjs} +5 -5
- package/dist/contracts.cjs.map +1 -0
- package/dist/contracts.d.ts +45 -17
- package/dist/contracts.d.ts.map +1 -1
- package/dist/debugLogger.cjs +101 -0
- package/dist/debugLogger.cjs.map +1 -0
- package/dist/debugLogger.d.ts +30 -0
- package/dist/debugLogger.d.ts.map +1 -0
- package/dist/{deltaManager.js → deltaManager.cjs} +379 -186
- package/dist/deltaManager.cjs.map +1 -0
- package/dist/deltaManager.d.ts +54 -18
- package/dist/deltaManager.d.ts.map +1 -1
- package/dist/{deltaQueue.js → deltaQueue.cjs} +29 -28
- package/dist/deltaQueue.cjs.map +1 -0
- package/dist/deltaQueue.d.ts +3 -4
- package/dist/deltaQueue.d.ts.map +1 -1
- package/dist/disposal.cjs +25 -0
- package/dist/disposal.cjs.map +1 -0
- package/dist/disposal.d.ts +13 -0
- package/dist/disposal.d.ts.map +1 -0
- package/dist/error.cjs +32 -0
- package/dist/error.cjs.map +1 -0
- package/dist/error.d.ts +23 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/index.cjs +19 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/loader.cjs +148 -0
- package/dist/loader.cjs.map +1 -0
- package/dist/loader.d.ts +38 -19
- package/dist/loader.d.ts.map +1 -1
- package/dist/location-redirection-utilities/index.cjs +11 -0
- package/dist/location-redirection-utilities/index.cjs.map +1 -0
- package/dist/location-redirection-utilities/index.d.ts +6 -0
- package/dist/location-redirection-utilities/index.d.ts.map +1 -0
- package/dist/location-redirection-utilities/resolveWithLocationRedirection.cjs +53 -0
- package/dist/location-redirection-utilities/resolveWithLocationRedirection.cjs.map +1 -0
- package/dist/location-redirection-utilities/resolveWithLocationRedirection.d.ts +24 -0
- package/dist/location-redirection-utilities/resolveWithLocationRedirection.d.ts.map +1 -0
- package/dist/{collabWindowTracker.js → noopHeuristic.cjs} +37 -39
- package/dist/noopHeuristic.cjs.map +1 -0
- package/dist/noopHeuristic.d.ts +23 -0
- package/dist/noopHeuristic.d.ts.map +1 -0
- package/dist/{packageVersion.js → packageVersion.cjs} +2 -2
- package/dist/packageVersion.cjs.map +1 -0
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +1 -1
- package/dist/protocol.cjs +99 -0
- package/dist/protocol.cjs.map +1 -0
- package/dist/protocol.d.ts +38 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/{protocolTreeDocumentStorageService.js → protocolTreeDocumentStorageService.cjs} +8 -5
- package/dist/protocolTreeDocumentStorageService.cjs.map +1 -0
- package/dist/protocolTreeDocumentStorageService.d.ts +8 -4
- package/dist/protocolTreeDocumentStorageService.d.ts.map +1 -1
- package/dist/quorum.cjs +16 -0
- package/dist/quorum.cjs.map +1 -0
- package/dist/quorum.d.ts +1 -14
- package/dist/quorum.d.ts.map +1 -1
- package/dist/{retriableDocumentStorageService.js → retriableDocumentStorageService.cjs} +36 -21
- package/dist/retriableDocumentStorageService.cjs.map +1 -0
- package/dist/retriableDocumentStorageService.d.ts +7 -5
- package/dist/retriableDocumentStorageService.d.ts.map +1 -1
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/{utils.js → utils.cjs} +52 -14
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.ts +34 -1
- package/dist/utils.d.ts.map +1 -1
- package/lib/{audience.d.ts → audience.d.mts} +3 -10
- package/lib/audience.d.mts.map +1 -0
- package/lib/{audience.js → audience.mjs} +15 -17
- package/lib/audience.mjs.map +1 -0
- package/lib/catchUpMonitor.d.mts +29 -0
- package/lib/catchUpMonitor.d.mts.map +1 -0
- package/lib/catchUpMonitor.mjs +39 -0
- package/lib/catchUpMonitor.mjs.map +1 -0
- package/lib/{connectionManager.d.ts → connectionManager.d.mts} +23 -33
- package/lib/connectionManager.d.mts.map +1 -0
- package/lib/{connectionManager.js → connectionManager.mjs} +378 -218
- package/lib/connectionManager.mjs.map +1 -0
- package/lib/{connectionState.d.ts → connectionState.d.mts} +3 -5
- package/lib/connectionState.d.mts.map +1 -0
- package/lib/{connectionState.js → connectionState.mjs} +4 -6
- package/lib/connectionState.mjs.map +1 -0
- package/lib/connectionStateHandler.d.mts +179 -0
- package/lib/connectionStateHandler.d.mts.map +1 -0
- package/lib/connectionStateHandler.mjs +469 -0
- package/lib/connectionStateHandler.mjs.map +1 -0
- package/lib/container-loader-alpha.d.mts +274 -0
- package/lib/container-loader-beta.d.mts +75 -0
- package/lib/container-loader-public.d.mts +75 -0
- package/lib/container-loader-untrimmed.d.mts +331 -0
- package/lib/container.d.mts +382 -0
- package/lib/container.d.mts.map +1 -0
- package/lib/container.mjs +1579 -0
- package/lib/container.mjs.map +1 -0
- package/lib/containerContext.d.mts +58 -0
- package/lib/containerContext.d.mts.map +1 -0
- package/lib/containerContext.mjs +70 -0
- package/lib/containerContext.mjs.map +1 -0
- package/lib/containerStorageAdapter.d.mts +73 -0
- package/lib/containerStorageAdapter.d.mts.map +1 -0
- package/lib/containerStorageAdapter.mjs +228 -0
- package/lib/containerStorageAdapter.mjs.map +1 -0
- package/lib/{contracts.d.ts → contracts.d.mts} +45 -17
- package/lib/contracts.d.mts.map +1 -0
- package/lib/{contracts.js → contracts.mjs} +4 -4
- package/lib/contracts.mjs.map +1 -0
- package/lib/debugLogger.d.mts +30 -0
- package/lib/debugLogger.d.mts.map +1 -0
- package/lib/debugLogger.mjs +93 -0
- package/lib/debugLogger.mjs.map +1 -0
- package/lib/{deltaManager.d.ts → deltaManager.d.mts} +54 -18
- package/lib/deltaManager.d.mts.map +1 -0
- package/lib/{deltaManager.js → deltaManager.mjs} +361 -165
- package/lib/deltaManager.mjs.map +1 -0
- package/lib/{deltaQueue.d.ts → deltaQueue.d.mts} +3 -4
- package/lib/deltaQueue.d.mts.map +1 -0
- package/lib/{deltaQueue.js → deltaQueue.mjs} +25 -24
- package/lib/deltaQueue.mjs.map +1 -0
- package/lib/disposal.d.mts +13 -0
- package/lib/disposal.d.mts.map +1 -0
- package/lib/disposal.mjs +21 -0
- package/lib/disposal.mjs.map +1 -0
- package/lib/error.d.mts +23 -0
- package/lib/error.d.mts.map +1 -0
- package/lib/error.mjs +28 -0
- package/lib/error.mjs.map +1 -0
- package/lib/index.d.mts +11 -0
- package/lib/index.d.mts.map +1 -0
- package/lib/index.mjs +10 -0
- package/lib/index.mjs.map +1 -0
- package/lib/{loader.d.ts → loader.d.mts} +39 -20
- package/lib/loader.d.mts.map +1 -0
- package/lib/loader.mjs +143 -0
- package/lib/loader.mjs.map +1 -0
- package/lib/location-redirection-utilities/index.d.mts +6 -0
- package/lib/location-redirection-utilities/index.d.mts.map +1 -0
- package/lib/location-redirection-utilities/index.mjs +6 -0
- package/lib/location-redirection-utilities/index.mjs.map +1 -0
- package/lib/location-redirection-utilities/resolveWithLocationRedirection.d.mts +24 -0
- package/lib/location-redirection-utilities/resolveWithLocationRedirection.d.mts.map +1 -0
- package/lib/location-redirection-utilities/resolveWithLocationRedirection.mjs +48 -0
- package/lib/location-redirection-utilities/resolveWithLocationRedirection.mjs.map +1 -0
- package/lib/noopHeuristic.d.mts +23 -0
- package/lib/noopHeuristic.d.mts.map +1 -0
- package/lib/{collabWindowTracker.js → noopHeuristic.mjs} +33 -35
- package/lib/noopHeuristic.mjs.map +1 -0
- package/lib/{packageVersion.d.ts → packageVersion.d.mts} +1 -1
- package/lib/{packageVersion.d.ts.map → packageVersion.d.mts.map} +1 -1
- package/lib/{packageVersion.js → packageVersion.mjs} +2 -2
- package/lib/packageVersion.mjs.map +1 -0
- package/lib/protocol.d.mts +38 -0
- package/lib/protocol.d.mts.map +1 -0
- package/lib/protocol.mjs +94 -0
- package/lib/protocol.mjs.map +1 -0
- package/lib/{protocolTreeDocumentStorageService.d.ts → protocolTreeDocumentStorageService.d.mts} +8 -4
- package/lib/protocolTreeDocumentStorageService.d.mts.map +1 -0
- package/lib/{protocolTreeDocumentStorageService.js → protocolTreeDocumentStorageService.mjs} +8 -5
- package/lib/protocolTreeDocumentStorageService.mjs.map +1 -0
- package/lib/quorum.d.mts +4 -0
- package/lib/quorum.d.mts.map +1 -0
- package/lib/quorum.mjs +12 -0
- package/lib/quorum.mjs.map +1 -0
- package/lib/{retriableDocumentStorageService.d.ts → retriableDocumentStorageService.d.mts} +7 -5
- package/lib/retriableDocumentStorageService.d.mts.map +1 -0
- package/lib/{retriableDocumentStorageService.js → retriableDocumentStorageService.mjs} +35 -20
- package/lib/retriableDocumentStorageService.mjs.map +1 -0
- package/lib/utils.d.mts +67 -0
- package/lib/utils.d.mts.map +1 -0
- package/lib/{utils.js → utils.mjs} +47 -11
- package/lib/utils.mjs.map +1 -0
- package/package.json +163 -70
- package/prettier.config.cjs +8 -0
- package/src/audience.ts +59 -49
- package/src/catchUpMonitor.ts +61 -0
- package/src/connectionManager.ts +1154 -910
- package/src/connectionState.ts +22 -25
- package/src/connectionStateHandler.ts +689 -319
- package/src/container.ts +2476 -1792
- package/src/containerContext.ts +98 -330
- package/src/containerStorageAdapter.ts +301 -105
- package/src/contracts.ts +184 -146
- package/src/debugLogger.ts +123 -0
- package/src/deltaManager.ts +1165 -900
- package/src/deltaQueue.ts +156 -152
- package/src/disposal.ts +25 -0
- package/src/error.ts +44 -0
- package/src/index.ts +14 -15
- package/src/loader.ts +356 -427
- package/src/location-redirection-utilities/index.ts +9 -0
- package/src/location-redirection-utilities/resolveWithLocationRedirection.ts +61 -0
- package/src/noopHeuristic.ts +107 -0
- package/src/packageVersion.ts +1 -1
- package/src/protocol.ts +150 -0
- package/src/protocolTreeDocumentStorageService.ts +35 -35
- package/src/quorum.ts +11 -50
- package/src/retriableDocumentStorageService.ts +135 -95
- package/src/utils.ts +159 -86
- package/tsc-multi.test.json +4 -0
- package/tsconfig.json +10 -12
- package/dist/audience.js.map +0 -1
- package/dist/collabWindowTracker.d.ts +0 -19
- package/dist/collabWindowTracker.d.ts.map +0 -1
- package/dist/collabWindowTracker.js.map +0 -1
- package/dist/connectionManager.js.map +0 -1
- package/dist/connectionState.js.map +0 -1
- package/dist/connectionStateHandler.js +0 -280
- package/dist/connectionStateHandler.js.map +0 -1
- package/dist/container.js +0 -1284
- package/dist/container.js.map +0 -1
- package/dist/containerContext.js +0 -217
- package/dist/containerContext.js.map +0 -1
- package/dist/containerStorageAdapter.js +0 -104
- package/dist/containerStorageAdapter.js.map +0 -1
- package/dist/contracts.js.map +0 -1
- package/dist/deltaManager.js.map +0 -1
- package/dist/deltaManagerProxy.d.ts +0 -54
- package/dist/deltaManagerProxy.d.ts.map +0 -1
- package/dist/deltaManagerProxy.js +0 -115
- package/dist/deltaManagerProxy.js.map +0 -1
- package/dist/deltaQueue.js.map +0 -1
- package/dist/index.js +0 -16
- package/dist/index.js.map +0 -1
- package/dist/loader.js +0 -241
- package/dist/loader.js.map +0 -1
- package/dist/packageVersion.js.map +0 -1
- package/dist/protocolTreeDocumentStorageService.js.map +0 -1
- package/dist/quorum.js +0 -44
- package/dist/quorum.js.map +0 -1
- package/dist/retriableDocumentStorageService.js.map +0 -1
- package/dist/utils.js.map +0 -1
- package/lib/audience.d.ts.map +0 -1
- package/lib/audience.js.map +0 -1
- package/lib/collabWindowTracker.d.ts +0 -19
- package/lib/collabWindowTracker.d.ts.map +0 -1
- package/lib/collabWindowTracker.js.map +0 -1
- package/lib/connectionManager.d.ts.map +0 -1
- package/lib/connectionManager.js.map +0 -1
- package/lib/connectionState.d.ts.map +0 -1
- package/lib/connectionState.js.map +0 -1
- package/lib/connectionStateHandler.d.ts +0 -81
- package/lib/connectionStateHandler.d.ts.map +0 -1
- package/lib/connectionStateHandler.js +0 -276
- package/lib/connectionStateHandler.js.map +0 -1
- package/lib/container.d.ts +0 -238
- package/lib/container.d.ts.map +0 -1
- package/lib/container.js +0 -1276
- package/lib/container.js.map +0 -1
- package/lib/containerContext.d.ts +0 -84
- package/lib/containerContext.d.ts.map +0 -1
- package/lib/containerContext.js +0 -213
- package/lib/containerContext.js.map +0 -1
- package/lib/containerStorageAdapter.d.ts +0 -48
- package/lib/containerStorageAdapter.d.ts.map +0 -1
- package/lib/containerStorageAdapter.js +0 -99
- package/lib/containerStorageAdapter.js.map +0 -1
- package/lib/contracts.d.ts.map +0 -1
- package/lib/contracts.js.map +0 -1
- package/lib/deltaManager.d.ts.map +0 -1
- package/lib/deltaManager.js.map +0 -1
- package/lib/deltaManagerProxy.d.ts +0 -54
- package/lib/deltaManagerProxy.d.ts.map +0 -1
- package/lib/deltaManagerProxy.js +0 -110
- package/lib/deltaManagerProxy.js.map +0 -1
- package/lib/deltaQueue.d.ts.map +0 -1
- package/lib/deltaQueue.js.map +0 -1
- package/lib/index.d.ts +0 -8
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -8
- package/lib/index.js.map +0 -1
- package/lib/loader.d.ts.map +0 -1
- package/lib/loader.js +0 -236
- package/lib/loader.js.map +0 -1
- package/lib/packageVersion.js.map +0 -1
- package/lib/protocolTreeDocumentStorageService.d.ts.map +0 -1
- package/lib/protocolTreeDocumentStorageService.js.map +0 -1
- package/lib/quorum.d.ts +0 -21
- package/lib/quorum.d.ts.map +0 -1
- package/lib/quorum.js +0 -38
- package/lib/quorum.js.map +0 -1
- package/lib/retriableDocumentStorageService.d.ts.map +0 -1
- package/lib/retriableDocumentStorageService.js.map +0 -1
- package/lib/utils.d.ts +0 -34
- package/lib/utils.d.ts.map +0 -1
- package/lib/utils.js.map +0 -1
- package/src/collabWindowTracker.ts +0 -102
- package/src/deltaManagerProxy.ts +0 -158
- package/tsconfig.esnext.json +0 -7
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import { ITelemetryProperties, IRequest, FluidObject } from "@fluidframework/core-interfaces";
|
|
6
|
+
import { AttachState, IAudience, ICodeDetailsLoader, IContainer, IContainerEvents, IContainerLoadMode, ICriticalContainerError, IDeltaManager, IFluidCodeDetails, ReadOnlyInfo } from "@fluidframework/container-definitions";
|
|
7
|
+
import { IDocumentServiceFactory, IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions";
|
|
8
|
+
import { IClientDetails, IDocumentMessage, IQuorumClients, ISequencedDocumentMessage, ISnapshotTree } from "@fluidframework/protocol-definitions";
|
|
9
|
+
import { EventEmitterWithErrorHandling, ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
10
|
+
import { IDetachedBlobStorage, ILoaderOptions } from "./loader.mjs";
|
|
11
|
+
import { ISerializableBlobContents } from "./containerStorageAdapter.mjs";
|
|
12
|
+
import { ConnectionState } from "./connectionState.mjs";
|
|
13
|
+
import { ProtocolHandlerBuilder } from "./protocol.mjs";
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export interface IContainerLoadProps {
|
|
18
|
+
/**
|
|
19
|
+
* The resolved url of the container being loaded
|
|
20
|
+
*/
|
|
21
|
+
readonly resolvedUrl: IResolvedUrl;
|
|
22
|
+
/**
|
|
23
|
+
* Control which snapshot version to load from. See IParsedUrl for detailed information.
|
|
24
|
+
*/
|
|
25
|
+
readonly version: string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Loads the Container in paused state if true, unpaused otherwise.
|
|
28
|
+
*/
|
|
29
|
+
readonly loadMode?: IContainerLoadMode;
|
|
30
|
+
/**
|
|
31
|
+
* The pending state serialized from a pervious container instance
|
|
32
|
+
*/
|
|
33
|
+
readonly pendingLocalState?: IPendingContainerState;
|
|
34
|
+
/**
|
|
35
|
+
* Load the container to at least this sequence number.
|
|
36
|
+
*/
|
|
37
|
+
readonly loadToSequenceNumber?: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
export interface IContainerCreateProps {
|
|
43
|
+
/**
|
|
44
|
+
* Disables the Container from reconnecting if false, allows reconnect otherwise.
|
|
45
|
+
*/
|
|
46
|
+
readonly canReconnect?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Client details provided in the override will be merged over the default client.
|
|
49
|
+
*/
|
|
50
|
+
readonly clientDetailsOverride?: IClientDetails;
|
|
51
|
+
/**
|
|
52
|
+
* The url resolver used by the loader for resolving external urls
|
|
53
|
+
* into Fluid urls such that the container specified by the
|
|
54
|
+
* external url can be loaded.
|
|
55
|
+
*/
|
|
56
|
+
readonly urlResolver: IUrlResolver;
|
|
57
|
+
/**
|
|
58
|
+
* The document service factory take the Fluid url provided
|
|
59
|
+
* by the resolved url and constructs all the necessary services
|
|
60
|
+
* for communication with the container's server.
|
|
61
|
+
*/
|
|
62
|
+
readonly documentServiceFactory: IDocumentServiceFactory;
|
|
63
|
+
/**
|
|
64
|
+
* The code loader handles loading the necessary code
|
|
65
|
+
* for running a container once it is loaded.
|
|
66
|
+
*/
|
|
67
|
+
readonly codeLoader: ICodeDetailsLoader;
|
|
68
|
+
/**
|
|
69
|
+
* A property bag of options used by various layers
|
|
70
|
+
* to control features
|
|
71
|
+
*/
|
|
72
|
+
readonly options: ILoaderOptions;
|
|
73
|
+
/**
|
|
74
|
+
* Scope is provided to all container and is a set of shared
|
|
75
|
+
* services for container's to integrate with their host environment.
|
|
76
|
+
*/
|
|
77
|
+
readonly scope: FluidObject;
|
|
78
|
+
/**
|
|
79
|
+
* The logger downstream consumers should construct their loggers from
|
|
80
|
+
*/
|
|
81
|
+
readonly subLogger: ITelemetryLoggerExt;
|
|
82
|
+
/**
|
|
83
|
+
* Blobs storage for detached containers.
|
|
84
|
+
*/
|
|
85
|
+
readonly detachedBlobStorage?: IDetachedBlobStorage;
|
|
86
|
+
/**
|
|
87
|
+
* Optional property for allowing the container to use a custom
|
|
88
|
+
* protocol implementation for handling the quorum and/or the audience.
|
|
89
|
+
*/
|
|
90
|
+
readonly protocolHandlerBuilder?: ProtocolHandlerBuilder;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Waits until container connects to delta storage and gets up-to-date.
|
|
94
|
+
*
|
|
95
|
+
* Useful when resolving URIs and hitting 404, due to container being loaded from (stale) snapshot and not being
|
|
96
|
+
* up to date. Host may chose to wait in such case and retry resolving URI.
|
|
97
|
+
*
|
|
98
|
+
* Warning: Will wait infinitely for connection to establish if there is no connection.
|
|
99
|
+
* May result in deadlock if Container.disconnect() is called and never followed by a call to Container.connect().
|
|
100
|
+
*
|
|
101
|
+
* @returns `true`: container is up to date, it processed all the ops that were know at the time of first connection.
|
|
102
|
+
*
|
|
103
|
+
* `false`: storage does not provide indication of how far the client is. Container processed all the ops known to it,
|
|
104
|
+
* but it maybe still behind.
|
|
105
|
+
*
|
|
106
|
+
* @throws an error beginning with `"Container closed"` if the container is closed before it catches up.
|
|
107
|
+
* @alpha
|
|
108
|
+
*/
|
|
109
|
+
export declare function waitContainerToCatchUp(container: IContainer): Promise<boolean>;
|
|
110
|
+
/**
|
|
111
|
+
* Helper function to report to telemetry cases where operation takes longer than expected (200ms)
|
|
112
|
+
* @param logger - logger to use
|
|
113
|
+
* @param eventName - event name
|
|
114
|
+
* @param action - functor to call and measure
|
|
115
|
+
*/
|
|
116
|
+
export declare function ReportIfTooLong(logger: ITelemetryLoggerExt, eventName: string, action: () => Promise<ITelemetryProperties>): Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* State saved by a container at close time, to be used to load a new instance
|
|
119
|
+
* of the container to the same state
|
|
120
|
+
* @internal
|
|
121
|
+
*/
|
|
122
|
+
export interface IPendingContainerState {
|
|
123
|
+
pendingRuntimeState: unknown;
|
|
124
|
+
/**
|
|
125
|
+
* Snapshot from which container initially loaded.
|
|
126
|
+
*/
|
|
127
|
+
baseSnapshot: ISnapshotTree;
|
|
128
|
+
/**
|
|
129
|
+
* Serializable blobs from the base snapshot. Used to load offline since
|
|
130
|
+
* storage is not available.
|
|
131
|
+
*/
|
|
132
|
+
snapshotBlobs: ISerializableBlobContents;
|
|
133
|
+
/**
|
|
134
|
+
* All ops since base snapshot sequence number up to the latest op
|
|
135
|
+
* seen when the container was closed. Used to apply stashed (saved pending)
|
|
136
|
+
* ops at the same sequence number at which they were made.
|
|
137
|
+
*/
|
|
138
|
+
savedOps: ISequencedDocumentMessage[];
|
|
139
|
+
url: string;
|
|
140
|
+
clientId?: string;
|
|
141
|
+
}
|
|
142
|
+
export declare class Container extends EventEmitterWithErrorHandling<IContainerEvents> implements IContainer, IContainerExperimental {
|
|
143
|
+
/**
|
|
144
|
+
* Load an existing container.
|
|
145
|
+
* @internal
|
|
146
|
+
*/
|
|
147
|
+
static load(loadProps: IContainerLoadProps, createProps: IContainerCreateProps): Promise<Container>;
|
|
148
|
+
/**
|
|
149
|
+
* Create a new container in a detached state.
|
|
150
|
+
*/
|
|
151
|
+
static createDetached(createProps: IContainerCreateProps, codeDetails: IFluidCodeDetails): Promise<Container>;
|
|
152
|
+
/**
|
|
153
|
+
* Create a new container in a detached state that is initialized with a
|
|
154
|
+
* snapshot from a previous detached container.
|
|
155
|
+
*/
|
|
156
|
+
static rehydrateDetachedFromSnapshot(createProps: IContainerCreateProps, snapshot: string): Promise<Container>;
|
|
157
|
+
private readonly _canReconnect;
|
|
158
|
+
private readonly clientDetailsOverride;
|
|
159
|
+
private readonly urlResolver;
|
|
160
|
+
private readonly serviceFactory;
|
|
161
|
+
private readonly codeLoader;
|
|
162
|
+
private readonly options;
|
|
163
|
+
private readonly scope;
|
|
164
|
+
private readonly subLogger;
|
|
165
|
+
private readonly detachedBlobStorage;
|
|
166
|
+
private readonly protocolHandlerBuilder;
|
|
167
|
+
private readonly client;
|
|
168
|
+
private readonly mc;
|
|
169
|
+
/**
|
|
170
|
+
* Used by the RelativeLoader to spawn a new Container for the same document. Used to create the summarizing client.
|
|
171
|
+
* @internal
|
|
172
|
+
*/
|
|
173
|
+
readonly clone: (loadProps: IContainerLoadProps, createParamOverrides: Partial<IContainerCreateProps>) => Promise<Container>;
|
|
174
|
+
/**
|
|
175
|
+
* Lifecycle state of the container, used mainly to prevent re-entrancy and telemetry
|
|
176
|
+
*
|
|
177
|
+
* States are allowed to progress to further states:
|
|
178
|
+
* "loading" - "loaded" - "closing" - "disposing" - "closed" - "disposed"
|
|
179
|
+
*
|
|
180
|
+
* For example, moving from "closed" to "disposing" is not allowed since it is an earlier state.
|
|
181
|
+
*
|
|
182
|
+
* loading: Container has been created, but is not yet in normal/loaded state
|
|
183
|
+
* loaded: Container is in normal/loaded state
|
|
184
|
+
* closing: Container has started closing process (for re-entrancy prevention)
|
|
185
|
+
* disposing: Container has started disposing process (for re-entrancy prevention)
|
|
186
|
+
* closed: Container has closed
|
|
187
|
+
* disposed: Container has been disposed
|
|
188
|
+
*/
|
|
189
|
+
private _lifecycleState;
|
|
190
|
+
private setLoaded;
|
|
191
|
+
get closed(): boolean;
|
|
192
|
+
get disposed(): boolean;
|
|
193
|
+
private _attachState;
|
|
194
|
+
private readonly storageAdapter;
|
|
195
|
+
private readonly _deltaManager;
|
|
196
|
+
private service;
|
|
197
|
+
private _runtime;
|
|
198
|
+
private get runtime();
|
|
199
|
+
private _protocolHandler;
|
|
200
|
+
private get protocolHandler();
|
|
201
|
+
/** During initialization we pause the inbound queues. We track this state to ensure we only call resume once */
|
|
202
|
+
private inboundQueuePausedFromInit;
|
|
203
|
+
private firstConnection;
|
|
204
|
+
private readonly connectionTransitionTimes;
|
|
205
|
+
private _loadedFromVersion;
|
|
206
|
+
private attachStarted;
|
|
207
|
+
private _dirtyContainer;
|
|
208
|
+
private readonly savedOps;
|
|
209
|
+
private baseSnapshot?;
|
|
210
|
+
private baseSnapshotBlobs?;
|
|
211
|
+
private readonly _containerId;
|
|
212
|
+
private lastVisible;
|
|
213
|
+
private readonly visibilityEventHandler;
|
|
214
|
+
private readonly connectionStateHandler;
|
|
215
|
+
private readonly clientsWhoShouldHaveLeft;
|
|
216
|
+
private setAutoReconnectTime;
|
|
217
|
+
private noopHeuristic;
|
|
218
|
+
private get connectionMode();
|
|
219
|
+
get resolvedUrl(): IResolvedUrl | undefined;
|
|
220
|
+
get readOnlyInfo(): ReadOnlyInfo;
|
|
221
|
+
/**
|
|
222
|
+
* Sends signal to runtime (and data stores) to be read-only.
|
|
223
|
+
* Hosts may have read only views, indicating to data stores that no edits are allowed.
|
|
224
|
+
* This is independent from this._readonlyPermissions (permissions) and this.connectionMode
|
|
225
|
+
* (server can return "write" mode even when asked for "read")
|
|
226
|
+
* Leveraging same "readonly" event as runtime & data stores should behave the same in such case
|
|
227
|
+
* as in read-only permissions.
|
|
228
|
+
* But this.active can be used by some DDSes to figure out if ops can be sent
|
|
229
|
+
* (for example, read-only view still participates in code proposals / upgrades decisions)
|
|
230
|
+
*
|
|
231
|
+
* Forcing Readonly does not prevent DDS from generating ops. It is up to user code to honour
|
|
232
|
+
* the readonly flag. If ops are generated, they will accumulate locally and not be sent. If
|
|
233
|
+
* there are pending in the outbound queue, it will stop sending until force readonly is
|
|
234
|
+
* cleared.
|
|
235
|
+
*
|
|
236
|
+
* @param readonly - set or clear force readonly.
|
|
237
|
+
*/
|
|
238
|
+
forceReadonly(readonly: boolean): void;
|
|
239
|
+
get deltaManager(): IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
|
|
240
|
+
get connectionState(): ConnectionState;
|
|
241
|
+
private get connected();
|
|
242
|
+
private _clientId;
|
|
243
|
+
/**
|
|
244
|
+
* The server provided id of the client.
|
|
245
|
+
* Set once this.connected is true, otherwise undefined
|
|
246
|
+
*/
|
|
247
|
+
get clientId(): string | undefined;
|
|
248
|
+
private get offlineLoadEnabled();
|
|
249
|
+
/**
|
|
250
|
+
* Get the code details that are currently specified for the container.
|
|
251
|
+
* @returns The current code details if any are specified, undefined if none are specified.
|
|
252
|
+
*/
|
|
253
|
+
getSpecifiedCodeDetails(): IFluidCodeDetails | undefined;
|
|
254
|
+
private _loadedCodeDetails;
|
|
255
|
+
/**
|
|
256
|
+
* Get the code details that were used to load the container.
|
|
257
|
+
* @returns The code details that were used to load the container if it is loaded, undefined if it is not yet
|
|
258
|
+
* loaded.
|
|
259
|
+
*/
|
|
260
|
+
getLoadedCodeDetails(): IFluidCodeDetails | undefined;
|
|
261
|
+
private _loadedModule;
|
|
262
|
+
/**
|
|
263
|
+
* Retrieves the audience associated with the document
|
|
264
|
+
*/
|
|
265
|
+
get audience(): IAudience;
|
|
266
|
+
/**
|
|
267
|
+
* Returns true if container is dirty.
|
|
268
|
+
* Which means data loss if container is closed at that same moment
|
|
269
|
+
* Most likely that happens when there is no network connection to Relay Service
|
|
270
|
+
*/
|
|
271
|
+
get isDirty(): boolean;
|
|
272
|
+
/**
|
|
273
|
+
* {@inheritDoc @fluidframework/container-definitions#IContainer.entryPoint}
|
|
274
|
+
*/
|
|
275
|
+
getEntryPoint(): Promise<FluidObject>;
|
|
276
|
+
private readonly _lifecycleEvents;
|
|
277
|
+
/**
|
|
278
|
+
* @internal
|
|
279
|
+
*/
|
|
280
|
+
constructor(createProps: IContainerCreateProps, loadProps?: Pick<IContainerLoadProps, "pendingLocalState">);
|
|
281
|
+
/**
|
|
282
|
+
* Retrieves the quorum associated with the document
|
|
283
|
+
*/
|
|
284
|
+
getQuorum(): IQuorumClients;
|
|
285
|
+
dispose(error?: ICriticalContainerError): void;
|
|
286
|
+
close(error?: ICriticalContainerError): void;
|
|
287
|
+
private verifyClosed;
|
|
288
|
+
private closeCore;
|
|
289
|
+
private _disposed;
|
|
290
|
+
private disposeCore;
|
|
291
|
+
closeAndGetPendingLocalState(stopBlobAttachingSignal?: AbortSignal): Promise<string>;
|
|
292
|
+
getPendingLocalState(): Promise<string>;
|
|
293
|
+
private getPendingLocalStateCore;
|
|
294
|
+
get attachState(): AttachState;
|
|
295
|
+
serialize(): string;
|
|
296
|
+
attach(request: IRequest, attachProps?: {
|
|
297
|
+
deltaConnection?: "none" | "delayed";
|
|
298
|
+
}): Promise<void>;
|
|
299
|
+
private setAutoReconnectInternal;
|
|
300
|
+
connect(): void;
|
|
301
|
+
private connectInternal;
|
|
302
|
+
disconnect(): void;
|
|
303
|
+
private disconnectInternal;
|
|
304
|
+
private resumeInternal;
|
|
305
|
+
readonly getAbsoluteUrl: (relativeUrl: string) => Promise<string | undefined>;
|
|
306
|
+
proposeCodeDetails(codeDetails: IFluidCodeDetails): Promise<boolean>;
|
|
307
|
+
private processCodeProposal;
|
|
308
|
+
/**
|
|
309
|
+
* Determines if the currently loaded module satisfies the incoming constraint code details
|
|
310
|
+
*/
|
|
311
|
+
private satisfies;
|
|
312
|
+
private getVersion;
|
|
313
|
+
private connectToDeltaStream;
|
|
314
|
+
/**
|
|
315
|
+
* Load container.
|
|
316
|
+
*
|
|
317
|
+
* @param specifiedVersion - Version SHA to load snapshot. If not specified, will fetch the latest snapshot.
|
|
318
|
+
*/
|
|
319
|
+
private load;
|
|
320
|
+
private createDetached;
|
|
321
|
+
private rehydrateDetachedFromSnapshot;
|
|
322
|
+
private getDocumentAttributes;
|
|
323
|
+
private initializeProtocolStateFromSnapshot;
|
|
324
|
+
private initializeProtocolState;
|
|
325
|
+
private captureProtocolSummary;
|
|
326
|
+
private getCodeDetailsFromQuorum;
|
|
327
|
+
private static setupClient;
|
|
328
|
+
/**
|
|
329
|
+
* Returns true if connection is active, i.e. it's "write" connection and
|
|
330
|
+
* container runtime was notified about this connection (i.e. we are up-to-date and could send ops).
|
|
331
|
+
* This happens after client received its own joinOp and thus is in the quorum.
|
|
332
|
+
* If it's not true, runtime is not in position to send ops.
|
|
333
|
+
*/
|
|
334
|
+
private activeConnection;
|
|
335
|
+
private createDeltaManager;
|
|
336
|
+
private attachDeltaManagerOpHandler;
|
|
337
|
+
private logConnectionStateChangeTelemetry;
|
|
338
|
+
private propagateConnectionState;
|
|
339
|
+
private submitContainerMessage;
|
|
340
|
+
/** @returns clientSequenceNumber of last message in a batch */
|
|
341
|
+
private submitBatch;
|
|
342
|
+
private submitSummaryMessage;
|
|
343
|
+
private submitMessage;
|
|
344
|
+
private processRemoteMessage;
|
|
345
|
+
private submitSignal;
|
|
346
|
+
private processSignal;
|
|
347
|
+
/**
|
|
348
|
+
* Get the most recent snapshot, or a specific version.
|
|
349
|
+
* @param specifiedVersion - The specific version of the snapshot to retrieve
|
|
350
|
+
* @returns The snapshot requested, or the latest snapshot if no version was specified, plus version ID
|
|
351
|
+
*/
|
|
352
|
+
private fetchSnapshotTree;
|
|
353
|
+
private instantiateRuntime;
|
|
354
|
+
private readonly updateDirtyContainerState;
|
|
355
|
+
/**
|
|
356
|
+
* Set the connected state of the ContainerContext
|
|
357
|
+
* This controls the "connected" state of the ContainerRuntime as well
|
|
358
|
+
* @param state - Is the container currently connected?
|
|
359
|
+
* @param readonly - Is the container in readonly mode?
|
|
360
|
+
*/
|
|
361
|
+
private setContextConnectedState;
|
|
362
|
+
private handleDeltaConnectionArg;
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* IContainer interface that includes experimental features still under development.
|
|
366
|
+
* @internal
|
|
367
|
+
*/
|
|
368
|
+
export interface IContainerExperimental extends IContainer {
|
|
369
|
+
/**
|
|
370
|
+
* Get pending state from container. WARNING: misuse of this API can result in duplicate op
|
|
371
|
+
* submission and potential document corruption. The blob returned MUST be deleted if and when this
|
|
372
|
+
* container emits a "connected" event.
|
|
373
|
+
* @returns serialized blob that can be passed to Loader.resolve()
|
|
374
|
+
*/
|
|
375
|
+
getPendingLocalState?(): Promise<string>;
|
|
376
|
+
/**
|
|
377
|
+
* Closes the container and returns serialized local state intended to be
|
|
378
|
+
* given to a newly loaded container.
|
|
379
|
+
*/
|
|
380
|
+
closeAndGetPendingLocalState?(stopBlobAttachingSignal?: AbortSignal): Promise<string>;
|
|
381
|
+
}
|
|
382
|
+
//# sourceMappingURL=container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
|