@fluidframework/container-runtime 2.0.0-dev-rc.4.0.0.261659 → 2.0.0-dev-rc.5.0.0.265721
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/CHANGELOG.md +46 -0
- package/api-report/container-runtime.api.md +60 -29
- package/dist/batchTracker.js.map +1 -1
- package/dist/blobManager.d.ts +9 -9
- package/dist/blobManager.d.ts.map +1 -1
- package/dist/blobManager.js +3 -5
- package/dist/blobManager.js.map +1 -1
- package/dist/channelCollection.d.ts +8 -6
- package/dist/channelCollection.d.ts.map +1 -1
- package/dist/channelCollection.js +22 -11
- package/dist/channelCollection.js.map +1 -1
- package/dist/connectionTelemetry.d.ts +1 -1
- package/dist/connectionTelemetry.d.ts.map +1 -1
- package/dist/connectionTelemetry.js.map +1 -1
- package/dist/containerHandleContext.d.ts +2 -1
- package/dist/containerHandleContext.d.ts.map +1 -1
- package/dist/containerHandleContext.js.map +1 -1
- package/dist/containerRuntime.d.ts +14 -24
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +125 -140
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStore.d.ts.map +1 -1
- package/dist/dataStore.js.map +1 -1
- package/dist/dataStoreContext.d.ts +13 -10
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +21 -8
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreContexts.js.map +1 -1
- package/dist/dataStoreRegistry.js.map +1 -1
- package/dist/{deltaManagerSummarizerProxy.d.ts → deltaManagerProxies.d.ts} +28 -3
- package/dist/deltaManagerProxies.d.ts.map +1 -0
- package/dist/{deltaManagerSummarizerProxy.js → deltaManagerProxies.js} +38 -2
- package/dist/deltaManagerProxies.js.map +1 -0
- package/dist/deltaScheduler.d.ts +1 -1
- package/dist/deltaScheduler.d.ts.map +1 -1
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/gc/garbageCollection.d.ts +1 -2
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js +1 -1
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcConfigs.d.ts.map +1 -1
- package/dist/gc/gcConfigs.js +14 -19
- package/dist/gc/gcConfigs.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +4 -22
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js +3 -3
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/gc/gcHelpers.d.ts +1 -2
- package/dist/gc/gcHelpers.d.ts.map +1 -1
- package/dist/gc/gcHelpers.js.map +1 -1
- package/dist/gc/gcReferenceGraphAlgorithm.js.map +1 -1
- package/dist/gc/gcSummaryDefinitions.d.ts +1 -1
- package/dist/gc/gcSummaryDefinitions.d.ts.map +1 -1
- package/dist/gc/gcSummaryDefinitions.js.map +1 -1
- package/dist/gc/gcSummaryStateTracker.d.ts +1 -1
- package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/dist/gc/gcSummaryStateTracker.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts +1 -1
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js +2 -2
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/dist/gc/index.d.ts +1 -1
- package/dist/gc/index.d.ts.map +1 -1
- package/dist/gc/index.js +2 -2
- package/dist/gc/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +6 -1
- package/dist/messageTypes.d.ts +5 -2
- package/dist/messageTypes.d.ts.map +1 -1
- package/dist/messageTypes.js.map +1 -1
- package/dist/opLifecycle/batchManager.d.ts +4 -0
- package/dist/opLifecycle/batchManager.d.ts.map +1 -1
- package/dist/opLifecycle/batchManager.js.map +1 -1
- package/dist/opLifecycle/opCompressor.js.map +1 -1
- package/dist/opLifecycle/opDecompressor.js.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js.map +1 -1
- package/dist/opLifecycle/opSplitter.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +1 -0
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +7 -20
- package/dist/opLifecycle/outbox.js.map +1 -1
- package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/pendingStateManager.d.ts +6 -0
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +10 -1
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/scheduleManager.d.ts +1 -1
- package/dist/scheduleManager.d.ts.map +1 -1
- package/dist/scheduleManager.js.map +1 -1
- package/dist/storageServiceWithAttachBlobs.js.map +1 -1
- package/dist/summary/documentSchema.js +2 -2
- package/dist/summary/documentSchema.js.map +1 -1
- package/dist/summary/index.d.ts +2 -2
- package/dist/summary/index.d.ts.map +1 -1
- package/dist/summary/index.js.map +1 -1
- package/dist/summary/orderedClientElection.d.ts +4 -2
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js +35 -13
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/dist/summary/runningSummarizer.d.ts +0 -5
- package/dist/summary/runningSummarizer.d.ts.map +1 -1
- package/dist/summary/runningSummarizer.js +28 -113
- package/dist/summary/runningSummarizer.js.map +1 -1
- package/dist/summary/summarizer.d.ts +1 -1
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js +4 -1
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerClientElection.js.map +1 -1
- package/dist/summary/summarizerHeuristics.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.d.ts +1 -2
- package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +1 -2
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +16 -28
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.d.ts +1 -1
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js +2 -2
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryFormat.d.ts +26 -6
- package/dist/summary/summaryFormat.d.ts.map +1 -1
- package/dist/summary/summaryFormat.js.map +1 -1
- package/dist/summary/summaryGenerator.d.ts +7 -8
- package/dist/summary/summaryGenerator.d.ts.map +1 -1
- package/dist/summary/summaryGenerator.js +30 -25
- package/dist/summary/summaryGenerator.js.map +1 -1
- package/dist/summary/summaryManager.js +5 -5
- package/dist/summary/summaryManager.js.map +1 -1
- package/dist/throttler.js.map +1 -1
- package/lib/batchTracker.js.map +1 -1
- package/lib/blobManager.d.ts +9 -9
- package/lib/blobManager.d.ts.map +1 -1
- package/lib/blobManager.js +4 -6
- package/lib/blobManager.js.map +1 -1
- package/lib/channelCollection.d.ts +8 -6
- package/lib/channelCollection.d.ts.map +1 -1
- package/lib/channelCollection.js +23 -12
- package/lib/channelCollection.js.map +1 -1
- package/lib/connectionTelemetry.d.ts +1 -1
- package/lib/connectionTelemetry.d.ts.map +1 -1
- package/lib/connectionTelemetry.js.map +1 -1
- package/lib/containerHandleContext.d.ts +2 -1
- package/lib/containerHandleContext.d.ts.map +1 -1
- package/lib/containerHandleContext.js.map +1 -1
- package/lib/containerRuntime.d.ts +14 -24
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +125 -140
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStore.d.ts.map +1 -1
- package/lib/dataStore.js.map +1 -1
- package/lib/dataStoreContext.d.ts +13 -10
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +23 -10
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStoreContexts.js.map +1 -1
- package/lib/dataStoreRegistry.js.map +1 -1
- package/lib/{deltaManagerSummarizerProxy.d.ts → deltaManagerProxies.d.ts} +28 -3
- package/lib/deltaManagerProxies.d.ts.map +1 -0
- package/lib/{deltaManagerSummarizerProxy.js → deltaManagerProxies.js} +36 -1
- package/lib/deltaManagerProxies.js.map +1 -0
- package/lib/deltaScheduler.d.ts +1 -1
- package/lib/deltaScheduler.d.ts.map +1 -1
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/gc/garbageCollection.d.ts +1 -2
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js +1 -1
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcConfigs.d.ts.map +1 -1
- package/lib/gc/gcConfigs.js +15 -20
- package/lib/gc/gcConfigs.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +4 -22
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js +2 -2
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/gc/gcHelpers.d.ts +1 -2
- package/lib/gc/gcHelpers.d.ts.map +1 -1
- package/lib/gc/gcHelpers.js.map +1 -1
- package/lib/gc/gcReferenceGraphAlgorithm.js.map +1 -1
- package/lib/gc/gcSummaryDefinitions.d.ts +1 -1
- package/lib/gc/gcSummaryDefinitions.d.ts.map +1 -1
- package/lib/gc/gcSummaryDefinitions.js.map +1 -1
- package/lib/gc/gcSummaryStateTracker.d.ts +1 -1
- package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/lib/gc/gcSummaryStateTracker.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts +1 -1
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js +2 -2
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/lib/gc/index.d.ts +1 -1
- package/lib/gc/index.d.ts.map +1 -1
- package/lib/gc/index.js +1 -1
- package/lib/gc/index.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +6 -1
- package/lib/messageTypes.d.ts +5 -2
- package/lib/messageTypes.d.ts.map +1 -1
- package/lib/messageTypes.js.map +1 -1
- package/lib/opLifecycle/batchManager.d.ts +4 -0
- package/lib/opLifecycle/batchManager.d.ts.map +1 -1
- package/lib/opLifecycle/batchManager.js.map +1 -1
- package/lib/opLifecycle/opCompressor.js.map +1 -1
- package/lib/opLifecycle/opDecompressor.js.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js.map +1 -1
- package/lib/opLifecycle/opSplitter.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +1 -0
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +7 -20
- package/lib/opLifecycle/outbox.js.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/pendingStateManager.d.ts +6 -0
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +10 -1
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/scheduleManager.d.ts +1 -1
- package/lib/scheduleManager.d.ts.map +1 -1
- package/lib/scheduleManager.js.map +1 -1
- package/lib/storageServiceWithAttachBlobs.js.map +1 -1
- package/lib/summary/documentSchema.js +2 -2
- package/lib/summary/documentSchema.js.map +1 -1
- package/lib/summary/index.d.ts +2 -2
- package/lib/summary/index.d.ts.map +1 -1
- package/lib/summary/index.js.map +1 -1
- package/lib/summary/orderedClientElection.d.ts +4 -2
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js +35 -13
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/lib/summary/runningSummarizer.d.ts +0 -5
- package/lib/summary/runningSummarizer.d.ts.map +1 -1
- package/lib/summary/runningSummarizer.js +21 -106
- package/lib/summary/runningSummarizer.js.map +1 -1
- package/lib/summary/summarizer.d.ts +1 -1
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js +4 -1
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerClientElection.js.map +1 -1
- package/lib/summary/summarizerHeuristics.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.d.ts +1 -2
- package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +1 -2
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +16 -28
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.d.ts +1 -1
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js +2 -2
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryFormat.d.ts +26 -6
- package/lib/summary/summaryFormat.d.ts.map +1 -1
- package/lib/summary/summaryFormat.js +1 -1
- package/lib/summary/summaryFormat.js.map +1 -1
- package/lib/summary/summaryGenerator.d.ts +7 -8
- package/lib/summary/summaryGenerator.d.ts.map +1 -1
- package/lib/summary/summaryGenerator.js +24 -19
- package/lib/summary/summaryGenerator.js.map +1 -1
- package/lib/summary/summaryManager.js +1 -1
- package/lib/summary/summaryManager.js.map +1 -1
- package/lib/throttler.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +65 -26
- package/src/blobManager.ts +14 -13
- package/src/channelCollection.ts +34 -20
- package/src/connectionTelemetry.ts +1 -1
- package/src/containerHandleContext.ts +2 -1
- package/src/containerRuntime.ts +161 -170
- package/src/dataStore.ts +3 -2
- package/src/dataStoreContext.ts +62 -23
- package/src/{deltaManagerSummarizerProxy.ts → deltaManagerProxies.ts} +55 -3
- package/src/deltaScheduler.ts +1 -1
- package/src/gc/garbageCollection.md +0 -8
- package/src/gc/garbageCollection.ts +2 -1
- package/src/gc/gcConfigs.ts +12 -19
- package/src/gc/gcDefinitions.ts +5 -23
- package/src/gc/gcHelpers.ts +1 -1
- package/src/gc/gcSummaryDefinitions.ts +1 -1
- package/src/gc/gcSummaryStateTracker.ts +1 -1
- package/src/gc/gcTelemetry.ts +1 -1
- package/src/gc/index.ts +1 -1
- package/src/index.ts +6 -1
- package/src/messageTypes.ts +4 -2
- package/src/opLifecycle/batchManager.ts +5 -0
- package/src/opLifecycle/outbox.ts +7 -30
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +11 -1
- package/src/scheduleManager.ts +1 -1
- package/src/summary/documentSchema.ts +1 -1
- package/src/summary/index.ts +5 -1
- package/src/summary/orderedClientElection.ts +83 -12
- package/src/summary/runningSummarizer.ts +30 -114
- package/src/summary/summarizer.ts +5 -2
- package/src/summary/summarizerNode/summarizerNode.ts +0 -2
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +1 -3
- package/src/summary/summarizerTypes.ts +22 -29
- package/src/summary/summaryCollection.ts +1 -1
- package/src/summary/summaryFormat.ts +35 -6
- package/src/summary/summaryGenerator.ts +50 -27
- package/src/summary/summaryManager.ts +1 -1
- package/dist/deltaManagerSummarizerProxy.d.ts.map +0 -1
- package/dist/deltaManagerSummarizerProxy.js.map +0 -1
- package/lib/deltaManagerSummarizerProxy.d.ts.map +0 -1
- package/lib/deltaManagerSummarizerProxy.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,51 @@
|
|
|
1
1
|
# @fluidframework/container-runtime
|
|
2
2
|
|
|
3
|
+
## 2.0.0-rc.4.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- Audience & connection sequencing improvements [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
8
|
+
|
|
9
|
+
Here are breaking changes in Audience behavior:
|
|
10
|
+
|
|
11
|
+
1. IAudience no longer implements EventEmmiter. If you used addListener() or removeListener(), please replace with on() & off() respectively.
|
|
12
|
+
2. IAudience interface implements getSelf() method and "selfChanged" event.
|
|
13
|
+
3. IContainerContext.audience is no longer optional
|
|
14
|
+
4. "connected" events are now raised (various API surfaces - IContainer, IContainerRuntime, IFluidDataStoreRuntime, etc.) a bit later in reconnection sequence for "read" connections - only after client receives its own "join" signal and caught up on ops, which makes it symmetrical with "write" connections.
|
|
15
|
+
|
|
16
|
+
- If this change in behavior breaks some scenario, please let us know immediately, but you can revert that behavior using the following feature gates:
|
|
17
|
+
- "Fluid.Container.DisableCatchUpBeforeDeclaringConnected"
|
|
18
|
+
- "Fluid.Container.DisableJoinSignalWait"
|
|
19
|
+
|
|
20
|
+
- container-runtime: Make op grouping On by default [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
21
|
+
|
|
22
|
+
Op grouping feature reduces number of ops on the wire by grouping all ops in a batch. This allows applications to substantially reduce chances of being throttled by service when sending a lot of ops.
|
|
23
|
+
This feature could be enabled only by applications that have consumed 2.0.0-internal.7.0.2 version and have application version based on it saturated in the marker (to 99.99% or higher). Enabling it too soon will result on old client crashing when processing grouped ops.
|
|
24
|
+
|
|
25
|
+
The feature has been proven in production in Loop app, as it was enabled through feature gates at 100% in PROD.
|
|
26
|
+
All internal applications (Loop, Whiteboard) that send telemetry to our common Kusto tenant are already at or above minimal required version of runtime.
|
|
27
|
+
|
|
28
|
+
If your application does not satisfy these deployment requirements, please disable op grouping via passing IContainerRuntimeOptions.enableGroupedBatching = false when calling ContainerRuntime.load().
|
|
29
|
+
|
|
30
|
+
### Minor Changes
|
|
31
|
+
|
|
32
|
+
- Type Erase IFluidDataStoreRuntime.deltaManager [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
33
|
+
|
|
34
|
+
Make IFluidDataStoreRuntime.deltaManager have an opaque type.
|
|
35
|
+
Marks the following types which were reachable from it as alpha:
|
|
36
|
+
|
|
37
|
+
- IConnectionDetails
|
|
38
|
+
- IDeltaSender
|
|
39
|
+
- IDeltaManagerEvents
|
|
40
|
+
- IDeltaManager
|
|
41
|
+
- IDeltaQueueEvents
|
|
42
|
+
- IDeltaQueue
|
|
43
|
+
- ReadOnlyInfo
|
|
44
|
+
|
|
45
|
+
As a temporary workaround, users needing access to the full delta manager API can use the `@alpha` `toDeltaManagerInternal` API to retrieve its members, but should migrate away from requiring access to those APIs.
|
|
46
|
+
|
|
47
|
+
Implementing a custom `IFluidDataStoreRuntime` is not supported: this is now indicated by it being marked with `@sealed`.
|
|
48
|
+
|
|
3
49
|
## 2.0.0-rc.3.0.0
|
|
4
50
|
|
|
5
51
|
### Major Changes
|
|
@@ -20,7 +20,7 @@ import { IContainerRuntimeBase } from '@fluidframework/runtime-definitions/inter
|
|
|
20
20
|
import { IContainerRuntimeEvents } from '@fluidframework/container-runtime-definitions/internal';
|
|
21
21
|
import { ICriticalContainerError } from '@fluidframework/container-definitions';
|
|
22
22
|
import { IDataStore } from '@fluidframework/runtime-definitions/internal';
|
|
23
|
-
import { IDeltaManager } from '@fluidframework/container-definitions';
|
|
23
|
+
import { IDeltaManager } from '@fluidframework/container-definitions/internal';
|
|
24
24
|
import { IDisposable } from '@fluidframework/core-interfaces';
|
|
25
25
|
import { IDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
26
26
|
import { IDocumentStorageService } from '@fluidframework/driver-definitions/internal';
|
|
@@ -33,32 +33,34 @@ import { IFluidDataStoreContextDetached } from '@fluidframework/runtime-definiti
|
|
|
33
33
|
import { IFluidDataStoreFactory } from '@fluidframework/runtime-definitions/internal';
|
|
34
34
|
import { IFluidDataStoreRegistry } from '@fluidframework/runtime-definitions/internal';
|
|
35
35
|
import { IFluidHandle } from '@fluidframework/core-interfaces';
|
|
36
|
-
import { IFluidHandleContext } from '@fluidframework/core-interfaces';
|
|
36
|
+
import { IFluidHandleContext } from '@fluidframework/core-interfaces/internal';
|
|
37
|
+
import { IFluidHandleInternal } from '@fluidframework/core-interfaces/internal';
|
|
37
38
|
import { IFluidParentContext } from '@fluidframework/runtime-definitions/internal';
|
|
38
|
-
import { IGarbageCollectionData } from '@fluidframework/runtime-definitions';
|
|
39
|
+
import { IGarbageCollectionData } from '@fluidframework/runtime-definitions/internal';
|
|
39
40
|
import { IGarbageCollectionDetailsBase } from '@fluidframework/runtime-definitions/internal';
|
|
40
41
|
import { IGetPendingLocalStateProps } from '@fluidframework/container-definitions/internal';
|
|
41
42
|
import type { IIdCompressor } from '@fluidframework/id-compressor';
|
|
42
43
|
import type { IIdCompressorCore } from '@fluidframework/id-compressor/internal';
|
|
43
44
|
import { IInboundSignalMessage } from '@fluidframework/runtime-definitions';
|
|
44
|
-
import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
|
|
45
|
+
import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces/internal';
|
|
45
46
|
import { IQuorumClients } from '@fluidframework/protocol-definitions';
|
|
46
47
|
import { IRequest } from '@fluidframework/core-interfaces';
|
|
47
48
|
import { IResponse } from '@fluidframework/core-interfaces';
|
|
48
49
|
import { IRuntime } from '@fluidframework/container-definitions/internal';
|
|
49
50
|
import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
50
51
|
import { ISignalMessage } from '@fluidframework/protocol-definitions';
|
|
52
|
+
import type { ISnapshot } from '@fluidframework/driver-definitions/internal';
|
|
51
53
|
import { ISnapshotTree } from '@fluidframework/protocol-definitions';
|
|
52
54
|
import { ISummarizeResult } from '@fluidframework/runtime-definitions/internal';
|
|
53
55
|
import { ISummarizerNodeWithGC } from '@fluidframework/runtime-definitions/internal';
|
|
54
56
|
import { ISummaryAck } from '@fluidframework/protocol-definitions';
|
|
55
57
|
import { ISummaryContent } from '@fluidframework/protocol-definitions';
|
|
56
58
|
import { ISummaryNack } from '@fluidframework/protocol-definitions';
|
|
57
|
-
import { ISummaryStats } from '@fluidframework/runtime-definitions';
|
|
59
|
+
import { ISummaryStats } from '@fluidframework/runtime-definitions/internal';
|
|
58
60
|
import { ISummaryTree } from '@fluidframework/protocol-definitions';
|
|
59
|
-
import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
|
|
61
|
+
import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions/internal';
|
|
60
62
|
import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
|
|
61
|
-
import { ITelemetryContext } from '@fluidframework/runtime-definitions';
|
|
63
|
+
import { ITelemetryContext } from '@fluidframework/runtime-definitions/internal';
|
|
62
64
|
import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils/internal';
|
|
63
65
|
import { MessageType } from '@fluidframework/protocol-definitions';
|
|
64
66
|
import { MonitoringContext } from '@fluidframework/telemetry-utils/internal';
|
|
@@ -77,7 +79,7 @@ export const AllowTombstoneRequestHeaderKey = "allowTombstone";
|
|
|
77
79
|
|
|
78
80
|
// @internal
|
|
79
81
|
export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
|
|
80
|
-
constructor(baseSnapshot: ISnapshotTree | undefined, parentContext: IFluidParentContext, baseLogger: ITelemetryBaseLogger, gcNodeUpdated: (props: IGCNodeUpdatedProps) => void, isDataStoreDeleted: (nodePath: string) => boolean, aliasMap: Map<string, string>, provideEntryPoint: (runtime: ChannelCollection) => Promise<FluidObject>);
|
|
82
|
+
constructor(baseSnapshot: ISnapshotTree | ISnapshot | undefined, parentContext: IFluidParentContext, baseLogger: ITelemetryBaseLogger, gcNodeUpdated: (props: IGCNodeUpdatedProps) => void, isDataStoreDeleted: (nodePath: string) => boolean, aliasMap: Map<string, string>, provideEntryPoint: (runtime: ChannelCollection) => Promise<FluidObject>);
|
|
81
83
|
// (undocumented)
|
|
82
84
|
get aliases(): ReadonlyMap<string, string>;
|
|
83
85
|
// (undocumented)
|
|
@@ -87,7 +89,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
|
|
|
87
89
|
// (undocumented)
|
|
88
90
|
readonly attachOpFiredForDataStore: Set<string>;
|
|
89
91
|
// (undocumented)
|
|
90
|
-
protected readonly baseSnapshot: ISnapshotTree | undefined;
|
|
92
|
+
protected readonly baseSnapshot: ISnapshotTree | ISnapshot | undefined;
|
|
91
93
|
// (undocumented)
|
|
92
94
|
readonly containerLoadStats: {
|
|
93
95
|
readonly containerLoadDataStoreCount: number;
|
|
@@ -110,7 +112,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
|
|
|
110
112
|
// (undocumented)
|
|
111
113
|
get disposed(): boolean;
|
|
112
114
|
// (undocumented)
|
|
113
|
-
readonly entryPoint:
|
|
115
|
+
readonly entryPoint: IFluidHandleInternal<FluidObject>;
|
|
114
116
|
getAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
|
|
115
117
|
getDataStoreIfAvailable(id: string, requestHeaderData: RuntimeHeaderData): Promise<IFluidDataStoreContextInternal | undefined>;
|
|
116
118
|
getDataStorePackagePath(nodePath: string): Promise<readonly string[] | undefined>;
|
|
@@ -207,7 +209,7 @@ export enum ContainerMessageType {
|
|
|
207
209
|
|
|
208
210
|
// @alpha
|
|
209
211
|
export class ContainerRuntime extends TypedEventEmitter<IContainerRuntimeEvents & ISummarizerEvents> implements IContainerRuntime, IRuntime, ISummarizerRuntime, ISummarizerInternalsProvider, IProvideFluidHandleContext {
|
|
210
|
-
protected constructor(context: IContainerContext, registry: IFluidDataStoreRegistry, metadata: IContainerRuntimeMetadata | undefined, electedSummarizerData: ISerializedElection | undefined, chunks: [string, string[]][], dataStoreAliasMap: [string, string][], runtimeOptions: Readonly<Required<IContainerRuntimeOptions>>, containerScope: FluidObject,
|
|
212
|
+
protected constructor(context: IContainerContext, registry: IFluidDataStoreRegistry, metadata: IContainerRuntimeMetadata | undefined, electedSummarizerData: ISerializedElection | undefined, chunks: [string, string[]][], dataStoreAliasMap: [string, string][], runtimeOptions: Readonly<Required<IContainerRuntimeOptions>>, containerScope: FluidObject, baseLogger: ITelemetryBaseLogger, existing: boolean, blobManagerSnapshot: IBlobManagerLoadInfo, _storage: IDocumentStorageService, createIdCompressor: () => Promise<IIdCompressor & IIdCompressorCore>, documentsSchemaController: DocumentsSchemaController, featureGatesForTelemetry: Record<string, boolean | number | undefined>, provideEntryPoint: (containerRuntime: IContainerRuntime) => Promise<FluidObject>, requestHandler?: ((request: IRequest, runtime: IContainerRuntime) => Promise<IResponse>) | undefined, summaryConfiguration?: ISummaryConfiguration);
|
|
211
213
|
// (undocumented)
|
|
212
214
|
protected addContainerStateToSummary(summaryTree: ISummaryTreeWithStats, fullTree: boolean, trackState: boolean, telemetryContext?: ITelemetryContext): void;
|
|
213
215
|
addedGCOutboundReference(srcHandle: {
|
|
@@ -218,6 +220,8 @@ export class ContainerRuntime extends TypedEventEmitter<IContainerRuntimeEvents
|
|
|
218
220
|
// (undocumented)
|
|
219
221
|
get attachState(): AttachState;
|
|
220
222
|
// (undocumented)
|
|
223
|
+
readonly baseLogger: ITelemetryBaseLogger;
|
|
224
|
+
// (undocumented)
|
|
221
225
|
readonly clientDetails: IClientDetails;
|
|
222
226
|
// (undocumented)
|
|
223
227
|
get clientId(): string | undefined;
|
|
@@ -301,8 +305,6 @@ export class ContainerRuntime extends TypedEventEmitter<IContainerRuntimeEvents
|
|
|
301
305
|
provideEntryPoint: (containerRuntime: IContainerRuntime) => Promise<FluidObject>;
|
|
302
306
|
}): Promise<ContainerRuntime>;
|
|
303
307
|
// (undocumented)
|
|
304
|
-
readonly logger: ITelemetryLoggerExt;
|
|
305
|
-
// (undocumented)
|
|
306
308
|
makeLocallyVisible(): void;
|
|
307
309
|
// (undocumented)
|
|
308
310
|
notifyOpReplay(message: ISequencedDocumentMessage): Promise<void>;
|
|
@@ -353,7 +355,7 @@ export class ContainerRuntime extends TypedEventEmitter<IContainerRuntimeEvents
|
|
|
353
355
|
updateTombstonedRoutes(tombstonedRoutes: readonly string[]): void;
|
|
354
356
|
updateUsedRoutes(usedRoutes: readonly string[]): void;
|
|
355
357
|
// (undocumented)
|
|
356
|
-
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<
|
|
358
|
+
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandleInternal<ArrayBufferLike>>;
|
|
357
359
|
}
|
|
358
360
|
|
|
359
361
|
// @internal @deprecated
|
|
@@ -439,7 +441,7 @@ export type EnqueueSummarizeResult = (ISummarizeResults & {
|
|
|
439
441
|
export abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidDataStoreContextEvents> implements IFluidDataStoreContextInternal, IFluidParentContext, IDisposable {
|
|
440
442
|
constructor(props: IFluidDataStoreContextProps, existing: boolean, isLocalDataStore: boolean, makeLocallyVisibleFn: () => void);
|
|
441
443
|
// @deprecated (undocumented)
|
|
442
|
-
addedGCOutboundReference(srcHandle:
|
|
444
|
+
addedGCOutboundReference(srcHandle: IFluidHandleInternal, outboundHandle: IFluidHandleInternal): void;
|
|
443
445
|
addedGCOutboundRoute(fromPath: string, toPath: string): void;
|
|
444
446
|
// (undocumented)
|
|
445
447
|
applyStashedOp(contents: any): Promise<unknown>;
|
|
@@ -448,6 +450,8 @@ export abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidData
|
|
|
448
450
|
// (undocumented)
|
|
449
451
|
protected _attachState: AttachState;
|
|
450
452
|
// (undocumented)
|
|
453
|
+
get baseLogger(): ITelemetryBaseLogger;
|
|
454
|
+
// (undocumented)
|
|
451
455
|
get baseSnapshot(): ISnapshotTree | undefined;
|
|
452
456
|
// (undocumented)
|
|
453
457
|
protected _baseSnapshot: ISnapshotTree | undefined;
|
|
@@ -520,8 +524,6 @@ export abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidData
|
|
|
520
524
|
isRoot(aliasedDataStores?: Set<string>): Promise<boolean>;
|
|
521
525
|
// (undocumented)
|
|
522
526
|
readonly loadingGroupId: string | undefined;
|
|
523
|
-
// (undocumented)
|
|
524
|
-
get logger(): ITelemetryBaseLogger;
|
|
525
527
|
makeLocallyVisible(): void;
|
|
526
528
|
// (undocumented)
|
|
527
529
|
protected readonly mc: MonitoringContext;
|
|
@@ -571,7 +573,7 @@ export abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidData
|
|
|
571
573
|
get tombstoned(): boolean;
|
|
572
574
|
updateUsedRoutes(usedRoutes: string[]): void;
|
|
573
575
|
// (undocumented)
|
|
574
|
-
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<
|
|
576
|
+
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandleInternal<ArrayBufferLike>>;
|
|
575
577
|
}
|
|
576
578
|
|
|
577
579
|
// @internal (undocumented)
|
|
@@ -623,7 +625,7 @@ export interface IAckSummaryResult {
|
|
|
623
625
|
|
|
624
626
|
// @alpha
|
|
625
627
|
export interface IBaseSummarizeResult {
|
|
626
|
-
readonly error:
|
|
628
|
+
readonly error: IRetriableFailureError | undefined;
|
|
627
629
|
// (undocumented)
|
|
628
630
|
readonly minimumSequenceNumber: number;
|
|
629
631
|
readonly referenceSequenceNumber: number;
|
|
@@ -784,6 +786,33 @@ export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
|
|
|
784
786
|
readonly override?: boolean;
|
|
785
787
|
}
|
|
786
788
|
|
|
789
|
+
// @alpha @deprecated (undocumented)
|
|
790
|
+
export interface IFluidDataStoreAttributes0 {
|
|
791
|
+
readonly isRootDataStore?: boolean;
|
|
792
|
+
// (undocumented)
|
|
793
|
+
pkg: string;
|
|
794
|
+
// (undocumented)
|
|
795
|
+
readonly snapshotFormatVersion?: undefined;
|
|
796
|
+
// (undocumented)
|
|
797
|
+
readonly summaryFormatVersion?: undefined;
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
// @alpha @deprecated (undocumented)
|
|
801
|
+
export interface IFluidDataStoreAttributes1 extends OmitAttributesVersions<IFluidDataStoreAttributes0> {
|
|
802
|
+
// (undocumented)
|
|
803
|
+
readonly snapshotFormatVersion: "0.1";
|
|
804
|
+
// (undocumented)
|
|
805
|
+
readonly summaryFormatVersion?: undefined;
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
// @alpha @deprecated (undocumented)
|
|
809
|
+
export interface IFluidDataStoreAttributes2 extends OmitAttributesVersions<IFluidDataStoreAttributes1> {
|
|
810
|
+
readonly disableIsolatedChannels?: true;
|
|
811
|
+
readonly snapshotFormatVersion?: undefined;
|
|
812
|
+
// (undocumented)
|
|
813
|
+
readonly summaryFormatVersion: 2;
|
|
814
|
+
}
|
|
815
|
+
|
|
787
816
|
// @internal (undocumented)
|
|
788
817
|
export interface IFluidDataStoreContextEvents extends IEvent {
|
|
789
818
|
// (undocumented)
|
|
@@ -849,9 +878,7 @@ export interface IGCNodeUpdatedProps {
|
|
|
849
878
|
// @alpha (undocumented)
|
|
850
879
|
export interface IGCRuntimeOptions {
|
|
851
880
|
[key: string]: any;
|
|
852
|
-
disableGC?: boolean;
|
|
853
881
|
enableGCSweep?: true;
|
|
854
|
-
gcAllowed?: boolean;
|
|
855
882
|
runFullGC?: boolean;
|
|
856
883
|
sessionExpiryTimeoutMs?: number;
|
|
857
884
|
sweepGracePeriodMs?: number;
|
|
@@ -913,7 +940,7 @@ export interface IMarkPhaseStats {
|
|
|
913
940
|
}
|
|
914
941
|
|
|
915
942
|
// @alpha (undocumented)
|
|
916
|
-
export interface INackSummaryResult
|
|
943
|
+
export interface INackSummaryResult {
|
|
917
944
|
// (undocumented)
|
|
918
945
|
readonly ackNackDuration: number;
|
|
919
946
|
// (undocumented)
|
|
@@ -938,7 +965,7 @@ export interface IRefreshSummaryAckOptions {
|
|
|
938
965
|
}
|
|
939
966
|
|
|
940
967
|
// @alpha
|
|
941
|
-
export interface
|
|
968
|
+
export interface IRetriableFailureError extends Error {
|
|
942
969
|
// (undocumented)
|
|
943
970
|
readonly retryAfterSeconds?: number;
|
|
944
971
|
}
|
|
@@ -996,8 +1023,6 @@ export interface ISummarizeEventProps {
|
|
|
996
1023
|
// @alpha
|
|
997
1024
|
export interface ISummarizeOptions {
|
|
998
1025
|
readonly fullTree?: boolean;
|
|
999
|
-
// @deprecated
|
|
1000
|
-
readonly refreshLatestAck?: boolean;
|
|
1001
1026
|
}
|
|
1002
1027
|
|
|
1003
1028
|
// @alpha (undocumented)
|
|
@@ -1034,6 +1059,8 @@ export interface ISummarizerInternalsProvider {
|
|
|
1034
1059
|
|
|
1035
1060
|
// @alpha (undocumented)
|
|
1036
1061
|
export interface ISummarizerRuntime extends IConnectableRuntime {
|
|
1062
|
+
// (undocumented)
|
|
1063
|
+
readonly baseLogger: ITelemetryBaseLogger;
|
|
1037
1064
|
// (undocumented)
|
|
1038
1065
|
closeFn(): void;
|
|
1039
1066
|
// (undocumented)
|
|
@@ -1041,8 +1068,6 @@ export interface ISummarizerRuntime extends IConnectableRuntime {
|
|
|
1041
1068
|
// (undocumented)
|
|
1042
1069
|
disposeFn(): void;
|
|
1043
1070
|
// (undocumented)
|
|
1044
|
-
readonly logger: ITelemetryLoggerExt;
|
|
1045
|
-
// (undocumented)
|
|
1046
1071
|
off(event: "op", listener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void): this;
|
|
1047
1072
|
// (undocumented)
|
|
1048
1073
|
on(event: "op", listener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void): this;
|
|
@@ -1191,12 +1216,18 @@ export class LocalFluidDataStoreContextBase extends FluidDataStoreContext {
|
|
|
1191
1216
|
// @internal
|
|
1192
1217
|
export const neverCancelledSummaryToken: ISummaryCancellationToken;
|
|
1193
1218
|
|
|
1219
|
+
// @alpha @deprecated (undocumented)
|
|
1220
|
+
export type OmitAttributesVersions<T> = Omit<T, "snapshotFormatVersion" | "summaryFormatVersion">;
|
|
1221
|
+
|
|
1194
1222
|
// @alpha (undocumented)
|
|
1195
1223
|
export type OpActionEventListener = (op: ISequencedDocumentMessage) => void;
|
|
1196
1224
|
|
|
1197
1225
|
// @alpha (undocumented)
|
|
1198
1226
|
export type OpActionEventName = MessageType.Summarize | MessageType.SummaryAck | MessageType.SummaryNack | "default";
|
|
1199
1227
|
|
|
1228
|
+
// @alpha @deprecated
|
|
1229
|
+
export type ReadFluidDataStoreAttributes = IFluidDataStoreAttributes0 | IFluidDataStoreAttributes1 | IFluidDataStoreAttributes2;
|
|
1230
|
+
|
|
1200
1231
|
// @internal
|
|
1201
1232
|
export interface RecentlyAddedContainerRuntimeMessageDetails {
|
|
1202
1233
|
compatDetails: IContainerRuntimeMessageCompatDetails;
|
|
@@ -1221,7 +1252,7 @@ export enum RuntimeHeaders {
|
|
|
1221
1252
|
}
|
|
1222
1253
|
|
|
1223
1254
|
// @alpha
|
|
1224
|
-
export interface SubmitSummaryFailureData
|
|
1255
|
+
export interface SubmitSummaryFailureData {
|
|
1225
1256
|
// (undocumented)
|
|
1226
1257
|
stage: SummaryStage;
|
|
1227
1258
|
}
|
|
@@ -1261,7 +1292,7 @@ export type SummarizeResultPart<TSuccess, TFailure = undefined> = {
|
|
|
1261
1292
|
success: false;
|
|
1262
1293
|
data: TFailure | undefined;
|
|
1263
1294
|
message: string;
|
|
1264
|
-
error:
|
|
1295
|
+
error: IRetriableFailureError;
|
|
1265
1296
|
};
|
|
1266
1297
|
|
|
1267
1298
|
// @alpha (undocumented)
|
package/dist/batchTracker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchTracker.js","sourceRoot":"","sources":["../src/batchTracker.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,+DAA2D;AAE3D,kEAA6D;AAE7D,uEAAkG;AAElG,MAAa,YAAY;IAMxB,YACkB,iBAA+B,EAChD,MAA4B,EAC5B,oBAA4B,EAC5B,sBAA8B,EAC9B,mBAAiC,GAAG,EAAE,CAAC,0BAAW,CAAC,GAAG,EAAE;QAJvC,sBAAiB,GAAjB,iBAAiB,CAAc;QAJzC,sBAAiB,GAAW,CAAC,CAAC;QAUrC,IAAI,CAAC,MAAM,GAAG,IAAA,4BAAiB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,OAAkC,EAAE,EAAE;YAC9E,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC;YACvD,IAAI,CAAC,6BAA6B,GAAG,gBAAgB,EAAE,CAAC;YACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,EAAE,CACxB,UAAU,EACV,CAAC,KAAsB,EAAE,OAAkC,EAAE,EAAE;YAC9D,IAAA,iBAAM,EACL,IAAI,CAAC,wBAAwB,KAAK,SAAS;gBAC1C,IAAI,CAAC,6BAA6B,KAAK,SAAS,EACjD,KAAK,CAAC,4CAA4C,CAClD,CAAC;YAEF,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;YAC1E,IAAI,MAAM,IAAI,oBAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"batchTracker.js","sourceRoot":"","sources":["../src/batchTracker.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,+DAA2D;AAE3D,kEAA6D;AAE7D,uEAAkG;AAElG,MAAa,YAAY;IAMxB,YACkB,iBAA+B,EAChD,MAA4B,EAC5B,oBAA4B,EAC5B,sBAA8B,EAC9B,mBAAiC,GAAG,EAAE,CAAC,0BAAW,CAAC,GAAG,EAAE;QAJvC,sBAAiB,GAAjB,iBAAiB,CAAc;QAJzC,sBAAiB,GAAW,CAAC,CAAC;QAUrC,IAAI,CAAC,MAAM,GAAG,IAAA,4BAAiB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,OAAkC,EAAE,EAAE;YAC9E,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC;YACvD,IAAI,CAAC,6BAA6B,GAAG,gBAAgB,EAAE,CAAC;YACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,EAAE,CACxB,UAAU,EACV,CAAC,KAAsB,EAAE,OAAkC,EAAE,EAAE;YAC9D,IAAA,iBAAM,EACL,IAAI,CAAC,wBAAwB,KAAK,SAAS;gBAC1C,IAAI,CAAC,6BAA6B,KAAK,SAAS,EACjD,KAAK,CAAC,4CAA4C,CAClD,CAAC;YAEF,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;YAC1E,IAAI,MAAM,IAAI,oBAAoB,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;oBAChC,SAAS,EAAE,cAAc;oBACzB,MAAM;oBACN,SAAS,EAAE,oBAAoB;oBAC/B,sBAAsB,EAAE,OAAO,CAAC,cAAc;oBAC9C,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,6BAA6B;oBACjE,UAAU,EAAE,KAAK,KAAK,SAAS;iBAC/B,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,KAAK,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;oBAChC,SAAS,EAAE,QAAQ;oBACnB,MAAM;oBACN,YAAY,EAAE,sBAAsB;oBACpC,sBAAsB,EAAE,OAAO,CAAC,cAAc;oBAC9C,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,6BAA6B;iBACjE,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;YAC1C,IAAI,CAAC,6BAA6B,GAAG,SAAS,CAAC;QAChD,CAAC,CACD,CAAC;IACH,CAAC;CACD;AAzDD,oCAyDC;AAED;;;;;;;GAOG;AACI,MAAM,gBAAgB,GAAG,CAC/B,iBAA+B,EAC/B,MAA2B,EAC3B,uBAA+B,IAAI,EACnC,yBAAiC,IAAI,EACpC,EAAE,CAAC,IAAI,YAAY,CAAC,iBAAiB,EAAE,MAAM,EAAE,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;AALlF,QAAA,gBAAgB,oBAKkE","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { EventEmitter } from \"@fluid-internal/client-utils\";\nimport { performance } from \"@fluid-internal/client-utils\";\nimport { ITelemetryBaseLogger } from \"@fluidframework/core-interfaces\";\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport { ISequencedDocumentMessage } from \"@fluidframework/protocol-definitions\";\nimport { ITelemetryLoggerExt, createChildLogger } from \"@fluidframework/telemetry-utils/internal\";\n\nexport class BatchTracker {\n\tprivate readonly logger: ITelemetryLoggerExt;\n\tprivate startBatchSequenceNumber: number | undefined;\n\tprivate trackedBatchCount: number = 0;\n\tprivate batchProcessingStartTimeStamp: number | undefined;\n\n\tconstructor(\n\t\tprivate readonly batchEventEmitter: EventEmitter,\n\t\tlogger: ITelemetryBaseLogger,\n\t\tbatchLengthThreshold: number,\n\t\tbatchCountSamplingRate: number,\n\t\tdateTimeProvider: () => number = () => performance.now(),\n\t) {\n\t\tthis.logger = createChildLogger({ logger, namespace: \"Batching\" });\n\n\t\tthis.batchEventEmitter.on(\"batchBegin\", (message: ISequencedDocumentMessage) => {\n\t\t\tthis.startBatchSequenceNumber = message.sequenceNumber;\n\t\t\tthis.batchProcessingStartTimeStamp = dateTimeProvider();\n\t\t\tthis.trackedBatchCount++;\n\t\t});\n\n\t\tthis.batchEventEmitter.on(\n\t\t\t\"batchEnd\",\n\t\t\t(error: any | undefined, message: ISequencedDocumentMessage) => {\n\t\t\t\tassert(\n\t\t\t\t\tthis.startBatchSequenceNumber !== undefined &&\n\t\t\t\t\t\tthis.batchProcessingStartTimeStamp !== undefined,\n\t\t\t\t\t0x2ba /* \"batchBegin must fire before batchEnd\" */,\n\t\t\t\t);\n\n\t\t\t\tconst length = message.sequenceNumber - this.startBatchSequenceNumber + 1;\n\t\t\t\tif (length >= batchLengthThreshold) {\n\t\t\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\t\t\teventName: \"LengthTooBig\",\n\t\t\t\t\t\tlength,\n\t\t\t\t\t\tthreshold: batchLengthThreshold,\n\t\t\t\t\t\tbatchEndSequenceNumber: message.sequenceNumber,\n\t\t\t\t\t\tduration: dateTimeProvider() - this.batchProcessingStartTimeStamp,\n\t\t\t\t\t\tbatchError: error !== undefined,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (this.trackedBatchCount % batchCountSamplingRate === 0) {\n\t\t\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\t\t\teventName: \"Length\",\n\t\t\t\t\t\tlength,\n\t\t\t\t\t\tsamplingRate: batchCountSamplingRate,\n\t\t\t\t\t\tbatchEndSequenceNumber: message.sequenceNumber,\n\t\t\t\t\t\tduration: dateTimeProvider() - this.batchProcessingStartTimeStamp,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tthis.startBatchSequenceNumber = undefined;\n\t\t\t\tthis.batchProcessingStartTimeStamp = undefined;\n\t\t\t},\n\t\t);\n\t}\n}\n\n/**\n * Track batch sizes in terms of op counts and processing times\n *\n * @param batchEventEmitter - event emitter which tracks the lifecycle of batch operations\n * @param logger - See {@link @fluidframework/core-interfaces#ITelemetryLoggerExt}\n * @param batchLengthThreshold - threshold for the length of a batch when to send an error event\n * @param batchCountSamplingRate - rate for batches for which to send an event with its characteristics\n */\nexport const BindBatchTracker = (\n\tbatchEventEmitter: EventEmitter,\n\tlogger: ITelemetryLoggerExt,\n\tbatchLengthThreshold: number = 1000,\n\tbatchCountSamplingRate: number = 1000,\n) => new BatchTracker(batchEventEmitter, logger, batchLengthThreshold, batchCountSamplingRate);\n"]}
|
package/dist/blobManager.d.ts
CHANGED
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
import { TypedEventEmitter } from "@fluid-internal/client-utils";
|
|
6
6
|
import { ICriticalContainerError } from "@fluidframework/container-definitions";
|
|
7
7
|
import { IContainerRuntime, IContainerRuntimeEvents } from "@fluidframework/container-runtime-definitions/internal";
|
|
8
|
-
import {
|
|
8
|
+
import { IFluidHandleContext, type IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
|
|
9
9
|
import { IDocumentStorageService } from "@fluidframework/driver-definitions/internal";
|
|
10
10
|
import { ISequencedDocumentMessage, ISnapshotTree } from "@fluidframework/protocol-definitions";
|
|
11
|
-
import { IGarbageCollectionData, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions";
|
|
11
|
+
import { IGarbageCollectionData, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions/internal";
|
|
12
|
+
import { FluidHandleBase } from "@fluidframework/runtime-utils/internal";
|
|
12
13
|
/**
|
|
13
14
|
* This class represents blob (long string)
|
|
14
15
|
* This object is used only when creating (writing) new blob and serialization purposes.
|
|
@@ -16,18 +17,17 @@ import { IGarbageCollectionData, ISummaryTreeWithStats, ITelemetryContext } from
|
|
|
16
17
|
* DataObject.request() recognizes requests in the form of `/blobs/<id>`
|
|
17
18
|
* and loads blob.
|
|
18
19
|
*/
|
|
19
|
-
export declare class BlobHandle
|
|
20
|
+
export declare class BlobHandle extends FluidHandleBase<ArrayBufferLike> {
|
|
20
21
|
readonly path: string;
|
|
21
22
|
readonly routeContext: IFluidHandleContext;
|
|
22
|
-
get: () => Promise<
|
|
23
|
+
get: () => Promise<ArrayBufferLike>;
|
|
23
24
|
private readonly onAttachGraph?;
|
|
24
25
|
private attached;
|
|
25
|
-
get IFluidHandle(): IFluidHandle;
|
|
26
26
|
get isAttached(): boolean;
|
|
27
27
|
readonly absolutePath: string;
|
|
28
|
-
constructor(path: string, routeContext: IFluidHandleContext, get: () => Promise<
|
|
28
|
+
constructor(path: string, routeContext: IFluidHandleContext, get: () => Promise<ArrayBufferLike>, onAttachGraph?: (() => void) | undefined);
|
|
29
29
|
attachGraph(): void;
|
|
30
|
-
bind(handle:
|
|
30
|
+
bind(handle: IFluidHandleInternal): void;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Information from a snapshot needed to load BlobManager
|
|
@@ -37,7 +37,7 @@ export interface IBlobManagerLoadInfo {
|
|
|
37
37
|
ids?: string[];
|
|
38
38
|
redirectTable?: [string, string][];
|
|
39
39
|
}
|
|
40
|
-
export type IBlobManagerRuntime = Pick<IContainerRuntime, "attachState" | "connected" | "
|
|
40
|
+
export type IBlobManagerRuntime = Pick<IContainerRuntime, "attachState" | "connected" | "baseLogger" | "clientDetails"> & TypedEventEmitter<IContainerRuntimeEvents>;
|
|
41
41
|
export interface IPendingBlobs {
|
|
42
42
|
[id: string]: {
|
|
43
43
|
blob: string;
|
|
@@ -124,7 +124,7 @@ export declare class BlobManager extends TypedEventEmitter<IBlobManagerEvents> {
|
|
|
124
124
|
getBlob(blobId: string): Promise<ArrayBufferLike>;
|
|
125
125
|
private getBlobHandle;
|
|
126
126
|
private createBlobDetached;
|
|
127
|
-
createBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<
|
|
127
|
+
createBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandleInternal<ArrayBufferLike>>;
|
|
128
128
|
private uploadBlob;
|
|
129
129
|
/**
|
|
130
130
|
* Set up a mapping in the redirect table from fromId to toId. Also, notify the runtime that a reference is added
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blobManager.d.ts","sourceRoot":"","sources":["../src/blobManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAkC,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAAe,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EACN,iBAAiB,EACjB,uBAAuB,EACvB,MAAM,wDAAwD,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"blobManager.d.ts","sourceRoot":"","sources":["../src/blobManager.ts"],"names":[],"mappings":"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"}
|
package/dist/blobManager.js
CHANGED
|
@@ -19,14 +19,12 @@ const uuid_1 = require("uuid");
|
|
|
19
19
|
* DataObject.request() recognizes requests in the form of `/blobs/<id>`
|
|
20
20
|
* and loads blob.
|
|
21
21
|
*/
|
|
22
|
-
class BlobHandle {
|
|
23
|
-
get IFluidHandle() {
|
|
24
|
-
return this;
|
|
25
|
-
}
|
|
22
|
+
class BlobHandle extends internal_3.FluidHandleBase {
|
|
26
23
|
get isAttached() {
|
|
27
24
|
return this.routeContext.isAttached && this.attached;
|
|
28
25
|
}
|
|
29
26
|
constructor(path, routeContext, get, onAttachGraph) {
|
|
27
|
+
super();
|
|
30
28
|
this.path = path;
|
|
31
29
|
this.routeContext = routeContext;
|
|
32
30
|
this.get = get;
|
|
@@ -80,7 +78,7 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
|
|
|
80
78
|
this.runtime = runtime;
|
|
81
79
|
this.closeContainer = closeContainer;
|
|
82
80
|
this.mc = (0, internal_4.createChildMonitoringContext)({
|
|
83
|
-
logger: this.runtime.
|
|
81
|
+
logger: this.runtime.baseLogger,
|
|
84
82
|
namespace: "BlobManager",
|
|
85
83
|
});
|
|
86
84
|
this.redirectTable = this.load(snapshot);
|