@fluidframework/container-runtime 2.13.0 → 2.21.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/.eslintrc.cjs +71 -5
- package/CHANGELOG.md +84 -0
- package/api-report/container-runtime.legacy.alpha.api.md +38 -232
- package/dist/batchTracker.d.ts +1 -2
- package/dist/batchTracker.d.ts.map +1 -1
- package/dist/batchTracker.js +1 -1
- package/dist/batchTracker.js.map +1 -1
- package/dist/blobManager/blobManager.d.ts +5 -1
- package/dist/blobManager/blobManager.d.ts.map +1 -1
- package/dist/blobManager/blobManager.js +30 -13
- package/dist/blobManager/blobManager.js.map +1 -1
- package/dist/blobManager/blobManagerSnapSum.d.ts +1 -0
- package/dist/blobManager/blobManagerSnapSum.d.ts.map +1 -1
- package/dist/blobManager/blobManagerSnapSum.js +7 -5
- package/dist/blobManager/blobManagerSnapSum.js.map +1 -1
- package/dist/channelCollection.d.ts +23 -12
- package/dist/channelCollection.d.ts.map +1 -1
- package/dist/channelCollection.js +85 -53
- package/dist/channelCollection.js.map +1 -1
- package/dist/connectionTelemetry.d.ts +2 -2
- package/dist/connectionTelemetry.d.ts.map +1 -1
- package/dist/connectionTelemetry.js +10 -6
- package/dist/connectionTelemetry.js.map +1 -1
- package/dist/containerHandleContext.d.ts +1 -1
- package/dist/containerHandleContext.d.ts.map +1 -1
- package/dist/containerHandleContext.js.map +1 -1
- package/dist/containerRuntime.d.ts +87 -94
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +312 -226
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStore.d.ts +7 -3
- package/dist/dataStore.d.ts.map +1 -1
- package/dist/dataStore.js +8 -4
- package/dist/dataStore.js.map +1 -1
- package/dist/dataStoreContext.d.ts +41 -25
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +47 -29
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreContexts.d.ts +6 -2
- package/dist/dataStoreContexts.d.ts.map +1 -1
- package/dist/dataStoreContexts.js +7 -2
- package/dist/dataStoreContexts.js.map +1 -1
- package/dist/dataStoreRegistry.d.ts +1 -1
- package/dist/dataStoreRegistry.d.ts.map +1 -1
- package/dist/dataStoreRegistry.js.map +1 -1
- package/dist/deltaManagerProxies.d.ts +1 -17
- package/dist/deltaManagerProxies.d.ts.map +1 -1
- package/dist/deltaManagerProxies.js.map +1 -1
- package/dist/deltaScheduler.d.ts +9 -6
- package/dist/deltaScheduler.d.ts.map +1 -1
- package/dist/deltaScheduler.js +95 -89
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/gc/garbageCollection.d.ts +21 -7
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js +48 -19
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcConfigs.d.ts +11 -0
- package/dist/gc/gcConfigs.d.ts.map +1 -1
- package/dist/gc/gcConfigs.js +5 -2
- package/dist/gc/gcConfigs.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +218 -70
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js +40 -13
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/gc/gcHelpers.d.ts +6 -2
- package/dist/gc/gcHelpers.d.ts.map +1 -1
- package/dist/gc/gcHelpers.js +14 -7
- package/dist/gc/gcHelpers.js.map +1 -1
- package/dist/gc/gcReferenceGraphAlgorithm.js.map +1 -1
- package/dist/gc/gcSummaryDefinitions.d.ts +18 -6
- package/dist/gc/gcSummaryDefinitions.d.ts.map +1 -1
- package/dist/gc/gcSummaryDefinitions.js.map +1 -1
- package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/dist/gc/gcSummaryStateTracker.js +2 -1
- package/dist/gc/gcSummaryStateTracker.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts +33 -11
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js +35 -17
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/gc/gcUnreferencedStateTracker.d.ts +42 -13
- package/dist/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
- package/dist/gc/gcUnreferencedStateTracker.js +27 -9
- package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/dist/gc/index.d.ts +1 -0
- package/dist/gc/index.d.ts.map +1 -1
- package/dist/gc/index.js +3 -1
- package/dist/gc/index.js.map +1 -1
- package/dist/inboundBatchAggregator.d.ts +34 -0
- package/dist/inboundBatchAggregator.d.ts.map +1 -0
- package/dist/inboundBatchAggregator.js +185 -0
- package/dist/inboundBatchAggregator.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/layerCompatState.d.ts +19 -0
- package/dist/layerCompatState.d.ts.map +1 -0
- package/dist/layerCompatState.js +64 -0
- package/dist/layerCompatState.js.map +1 -0
- package/dist/legacy.d.ts +0 -4
- package/dist/messageTypes.d.ts +14 -5
- package/dist/messageTypes.d.ts.map +1 -1
- package/dist/messageTypes.js.map +1 -1
- package/dist/metadata.d.ts +12 -4
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +6 -2
- package/dist/metadata.js.map +1 -1
- package/dist/opLifecycle/batchManager.d.ts +9 -3
- package/dist/opLifecycle/batchManager.d.ts.map +1 -1
- package/dist/opLifecycle/batchManager.js +3 -1
- package/dist/opLifecycle/batchManager.js.map +1 -1
- package/dist/opLifecycle/duplicateBatchDetector.d.ts +9 -3
- package/dist/opLifecycle/duplicateBatchDetector.d.ts.map +1 -1
- package/dist/opLifecycle/duplicateBatchDetector.js +11 -5
- package/dist/opLifecycle/duplicateBatchDetector.js.map +1 -1
- package/dist/opLifecycle/opCompressor.d.ts +3 -2
- package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opCompressor.js +13 -19
- package/dist/opLifecycle/opCompressor.js.map +1 -1
- package/dist/opLifecycle/opDecompressor.d.ts +6 -1
- package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opDecompressor.js +16 -8
- package/dist/opLifecycle/opDecompressor.js.map +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts +1 -2
- package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js +9 -6
- package/dist/opLifecycle/opGroupingManager.js.map +1 -1
- package/dist/opLifecycle/opSplitter.d.ts +13 -10
- package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
- package/dist/opLifecycle/opSplitter.js +16 -11
- package/dist/opLifecycle/opSplitter.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +4 -4
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +17 -16
- package/dist/opLifecycle/outbox.js.map +1 -1
- package/dist/opLifecycle/remoteMessageProcessor.d.ts +9 -3
- package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
- package/dist/opLifecycle/remoteMessageProcessor.js +3 -1
- package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
- package/dist/package.json +2 -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 +22 -11
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +24 -15
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/summary/documentSchema.d.ts +7 -0
- package/dist/summary/documentSchema.d.ts.map +1 -1
- package/dist/summary/documentSchema.js +8 -4
- package/dist/summary/documentSchema.js.map +1 -1
- package/dist/summary/index.d.ts +1 -1
- package/dist/summary/index.d.ts.map +1 -1
- package/dist/summary/index.js.map +1 -1
- package/dist/summary/orderedClientElection.d.ts +94 -31
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js +28 -16
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.d.ts +1 -0
- package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.js +7 -2
- package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/dist/summary/runningSummarizer.d.ts +17 -6
- package/dist/summary/runningSummarizer.d.ts.map +1 -1
- package/dist/summary/runningSummarizer.js +48 -19
- package/dist/summary/runningSummarizer.js.map +1 -1
- package/dist/summary/summarizer.d.ts +10 -5
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js +26 -11
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerClientElection.d.ts.map +1 -1
- package/dist/summary/summarizerClientElection.js +1 -0
- package/dist/summary/summarizerClientElection.js.map +1 -1
- package/dist/summary/summarizerHeuristics.d.ts +6 -2
- package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
- package/dist/summary/summarizerHeuristics.js +13 -5
- package/dist/summary/summarizerHeuristics.js.map +1 -1
- package/dist/summary/summarizerNode/index.d.ts.map +1 -1
- package/dist/summary/summarizerNode/index.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.d.ts +24 -8
- package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js +45 -36
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +48 -16
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js +3 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +13 -5
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js +15 -7
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +253 -135
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.d.ts +3 -4
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js +10 -8
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryFormat.d.ts +28 -9
- package/dist/summary/summaryFormat.d.ts.map +1 -1
- package/dist/summary/summaryFormat.js +3 -2
- package/dist/summary/summaryFormat.js.map +1 -1
- package/dist/summary/summaryGenerator.d.ts +9 -3
- package/dist/summary/summaryGenerator.d.ts.map +1 -1
- package/dist/summary/summaryGenerator.js +22 -9
- package/dist/summary/summaryGenerator.js.map +1 -1
- package/dist/summary/summaryManager.d.ts +8 -4
- package/dist/summary/summaryManager.d.ts.map +1 -1
- package/dist/summary/summaryManager.js +20 -9
- package/dist/summary/summaryManager.js.map +1 -1
- package/dist/throttler.d.ts +26 -10
- package/dist/throttler.d.ts.map +1 -1
- package/dist/throttler.js +12 -4
- package/dist/throttler.js.map +1 -1
- package/lib/batchTracker.d.ts +1 -2
- package/lib/batchTracker.d.ts.map +1 -1
- package/lib/batchTracker.js +2 -2
- package/lib/batchTracker.js.map +1 -1
- package/lib/blobManager/blobManager.d.ts +5 -1
- package/lib/blobManager/blobManager.d.ts.map +1 -1
- package/lib/blobManager/blobManager.js +30 -13
- package/lib/blobManager/blobManager.js.map +1 -1
- package/lib/blobManager/blobManagerSnapSum.d.ts +1 -0
- package/lib/blobManager/blobManagerSnapSum.d.ts.map +1 -1
- package/lib/blobManager/blobManagerSnapSum.js +7 -5
- package/lib/blobManager/blobManagerSnapSum.js.map +1 -1
- package/lib/channelCollection.d.ts +23 -12
- package/lib/channelCollection.d.ts.map +1 -1
- package/lib/channelCollection.js +88 -54
- package/lib/channelCollection.js.map +1 -1
- package/lib/connectionTelemetry.d.ts +2 -2
- package/lib/connectionTelemetry.d.ts.map +1 -1
- package/lib/connectionTelemetry.js +11 -7
- package/lib/connectionTelemetry.js.map +1 -1
- package/lib/containerHandleContext.d.ts +1 -1
- package/lib/containerHandleContext.d.ts.map +1 -1
- package/lib/containerHandleContext.js.map +1 -1
- package/lib/containerRuntime.d.ts +87 -94
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +319 -228
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStore.d.ts +7 -3
- package/lib/dataStore.d.ts.map +1 -1
- package/lib/dataStore.js +8 -4
- package/lib/dataStore.js.map +1 -1
- package/lib/dataStoreContext.d.ts +41 -25
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +47 -29
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStoreContexts.d.ts +6 -2
- package/lib/dataStoreContexts.d.ts.map +1 -1
- package/lib/dataStoreContexts.js +7 -2
- package/lib/dataStoreContexts.js.map +1 -1
- package/lib/dataStoreRegistry.d.ts +1 -1
- package/lib/dataStoreRegistry.d.ts.map +1 -1
- package/lib/dataStoreRegistry.js.map +1 -1
- package/lib/deltaManagerProxies.d.ts +1 -17
- package/lib/deltaManagerProxies.d.ts.map +1 -1
- package/lib/deltaManagerProxies.js.map +1 -1
- package/lib/deltaScheduler.d.ts +9 -6
- package/lib/deltaScheduler.d.ts.map +1 -1
- package/lib/deltaScheduler.js +96 -90
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/gc/garbageCollection.d.ts +21 -7
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js +51 -20
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcConfigs.d.ts +11 -0
- package/lib/gc/gcConfigs.d.ts.map +1 -1
- package/lib/gc/gcConfigs.js +4 -2
- package/lib/gc/gcConfigs.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +218 -70
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js +40 -13
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/gc/gcHelpers.d.ts +6 -2
- package/lib/gc/gcHelpers.d.ts.map +1 -1
- package/lib/gc/gcHelpers.js +14 -7
- package/lib/gc/gcHelpers.js.map +1 -1
- package/lib/gc/gcReferenceGraphAlgorithm.js.map +1 -1
- package/lib/gc/gcSummaryDefinitions.d.ts +18 -6
- package/lib/gc/gcSummaryDefinitions.d.ts.map +1 -1
- package/lib/gc/gcSummaryDefinitions.js.map +1 -1
- package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/lib/gc/gcSummaryStateTracker.js +2 -1
- package/lib/gc/gcSummaryStateTracker.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts +33 -11
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js +38 -18
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/gc/gcUnreferencedStateTracker.d.ts +42 -13
- package/lib/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
- package/lib/gc/gcUnreferencedStateTracker.js +27 -9
- package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/lib/gc/index.d.ts +1 -0
- package/lib/gc/index.d.ts.map +1 -1
- package/lib/gc/index.js +1 -0
- package/lib/gc/index.js.map +1 -1
- package/lib/inboundBatchAggregator.d.ts +34 -0
- package/lib/inboundBatchAggregator.d.ts.map +1 -0
- package/lib/inboundBatchAggregator.js +181 -0
- package/lib/inboundBatchAggregator.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/layerCompatState.d.ts +19 -0
- package/lib/layerCompatState.d.ts.map +1 -0
- package/lib/layerCompatState.js +60 -0
- package/lib/layerCompatState.js.map +1 -0
- package/lib/legacy.d.ts +0 -4
- package/lib/messageTypes.d.ts +14 -5
- package/lib/messageTypes.d.ts.map +1 -1
- package/lib/messageTypes.js.map +1 -1
- package/lib/metadata.d.ts +12 -4
- package/lib/metadata.d.ts.map +1 -1
- package/lib/metadata.js +6 -2
- package/lib/metadata.js.map +1 -1
- package/lib/opLifecycle/batchManager.d.ts +9 -3
- package/lib/opLifecycle/batchManager.d.ts.map +1 -1
- package/lib/opLifecycle/batchManager.js +3 -1
- package/lib/opLifecycle/batchManager.js.map +1 -1
- package/lib/opLifecycle/duplicateBatchDetector.d.ts +9 -3
- package/lib/opLifecycle/duplicateBatchDetector.d.ts.map +1 -1
- package/lib/opLifecycle/duplicateBatchDetector.js +11 -5
- package/lib/opLifecycle/duplicateBatchDetector.js.map +1 -1
- package/lib/opLifecycle/opCompressor.d.ts +3 -2
- package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opCompressor.js +14 -20
- package/lib/opLifecycle/opCompressor.js.map +1 -1
- package/lib/opLifecycle/opDecompressor.d.ts +6 -1
- package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opDecompressor.js +17 -9
- package/lib/opLifecycle/opDecompressor.js.map +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts +1 -2
- package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js +10 -7
- package/lib/opLifecycle/opGroupingManager.js.map +1 -1
- package/lib/opLifecycle/opSplitter.d.ts +13 -10
- package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
- package/lib/opLifecycle/opSplitter.js +16 -11
- package/lib/opLifecycle/opSplitter.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +4 -4
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +17 -16
- package/lib/opLifecycle/outbox.js.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.d.ts +9 -3
- package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.js +3 -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 +22 -11
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +25 -16
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/summary/documentSchema.d.ts +7 -0
- package/lib/summary/documentSchema.d.ts.map +1 -1
- package/lib/summary/documentSchema.js +8 -4
- package/lib/summary/documentSchema.js.map +1 -1
- package/lib/summary/index.d.ts +1 -1
- package/lib/summary/index.d.ts.map +1 -1
- package/lib/summary/index.js.map +1 -1
- package/lib/summary/orderedClientElection.d.ts +94 -31
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js +28 -16
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.d.ts +1 -0
- package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.js +7 -2
- package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/lib/summary/runningSummarizer.d.ts +17 -6
- package/lib/summary/runningSummarizer.d.ts.map +1 -1
- package/lib/summary/runningSummarizer.js +48 -19
- package/lib/summary/runningSummarizer.js.map +1 -1
- package/lib/summary/summarizer.d.ts +10 -5
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js +26 -11
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerClientElection.d.ts.map +1 -1
- package/lib/summary/summarizerClientElection.js +1 -0
- package/lib/summary/summarizerClientElection.js.map +1 -1
- package/lib/summary/summarizerHeuristics.d.ts +6 -2
- package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
- package/lib/summary/summarizerHeuristics.js +13 -5
- package/lib/summary/summarizerHeuristics.js.map +1 -1
- package/lib/summary/summarizerNode/index.d.ts.map +1 -1
- package/lib/summary/summarizerNode/index.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.d.ts +24 -8
- package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js +45 -36
- package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +48 -16
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js +3 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +13 -5
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js +15 -7
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +253 -135
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.d.ts +3 -4
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js +10 -8
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryFormat.d.ts +28 -9
- package/lib/summary/summaryFormat.d.ts.map +1 -1
- package/lib/summary/summaryFormat.js +2 -2
- package/lib/summary/summaryFormat.js.map +1 -1
- package/lib/summary/summaryGenerator.d.ts +9 -3
- package/lib/summary/summaryGenerator.d.ts.map +1 -1
- package/lib/summary/summaryGenerator.js +22 -9
- package/lib/summary/summaryGenerator.js.map +1 -1
- package/lib/summary/summaryManager.d.ts +8 -4
- package/lib/summary/summaryManager.d.ts.map +1 -1
- package/lib/summary/summaryManager.js +20 -9
- package/lib/summary/summaryManager.js.map +1 -1
- package/lib/throttler.d.ts +26 -10
- package/lib/throttler.d.ts.map +1 -1
- package/lib/throttler.js +12 -4
- package/lib/throttler.js.map +1 -1
- package/package.json +22 -31
- package/src/batchTracker.ts +34 -36
- package/src/blobManager/blobManager.ts +54 -33
- package/src/blobManager/blobManagerSnapSum.ts +10 -10
- package/src/channelCollection.ts +108 -82
- package/src/connectionTelemetry.ts +43 -19
- package/src/containerHandleContext.ts +2 -2
- package/src/containerRuntime.ts +492 -364
- package/src/dataStore.ts +17 -9
- package/src/dataStoreContext.ts +94 -73
- package/src/dataStoreContexts.ts +17 -12
- package/src/dataStoreRegistry.ts +1 -1
- package/src/deltaManagerProxies.ts +5 -5
- package/src/deltaScheduler.ts +24 -18
- package/src/gc/garbageCollection.ts +89 -40
- package/src/gc/gcConfigs.ts +13 -5
- package/src/gc/gcDefinitions.ts +224 -70
- package/src/gc/gcHelpers.ts +22 -11
- package/src/gc/gcReferenceGraphAlgorithm.ts +1 -1
- package/src/gc/gcSummaryDefinitions.ts +18 -6
- package/src/gc/gcSummaryStateTracker.ts +7 -3
- package/src/gc/gcTelemetry.ts +73 -30
- package/src/gc/gcUnreferencedStateTracker.ts +40 -16
- package/src/gc/index.ts +1 -0
- package/src/{scheduleManager.ts → inboundBatchAggregator.ts} +55 -122
- package/src/index.ts +0 -3
- package/src/layerCompatState.ts +75 -0
- package/src/messageTypes.ts +16 -5
- package/src/metadata.ts +12 -4
- package/src/opLifecycle/README.md +43 -34
- package/src/opLifecycle/batchManager.ts +12 -6
- package/src/opLifecycle/duplicateBatchDetector.ts +12 -6
- package/src/opLifecycle/opCompressor.ts +22 -25
- package/src/opLifecycle/opDecompressor.ts +23 -11
- package/src/opLifecycle/opGroupingManager.ts +16 -11
- package/src/opLifecycle/opSplitter.ts +24 -18
- package/src/opLifecycle/outbox.ts +35 -33
- package/src/opLifecycle/remoteMessageProcessor.ts +13 -5
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +49 -26
- package/src/summary/documentSchema.ts +41 -22
- package/src/summary/index.ts +0 -3
- package/src/summary/orderedClientElection.ts +114 -49
- package/src/summary/runWhileConnectedCoordinator.ts +12 -3
- package/src/summary/runningSummarizer.ts +79 -36
- package/src/summary/summarizer.ts +51 -25
- package/src/summary/summarizerClientElection.ts +4 -2
- package/src/summary/summarizerHeuristics.ts +23 -12
- package/src/summary/summarizerNode/index.ts +1 -0
- package/src/summary/summarizerNode/summarizerNode.ts +54 -43
- package/src/summary/summarizerNode/summarizerNodeUtils.ts +48 -16
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +25 -15
- package/src/summary/summarizerTypes.ts +253 -139
- package/src/summary/summaryCollection.ts +41 -31
- package/src/summary/summaryFormat.ts +34 -13
- package/src/summary/summaryGenerator.ts +39 -18
- package/src/summary/summaryManager.ts +36 -24
- package/src/throttler.ts +23 -11
- package/container-runtime.test-files.tar +0 -0
- package/dist/scheduleManager.d.ts +0 -28
- package/dist/scheduleManager.d.ts.map +0 -1
- package/dist/scheduleManager.js +0 -233
- package/dist/scheduleManager.js.map +0 -1
- package/lib/scheduleManager.d.ts +0 -28
- package/lib/scheduleManager.d.ts.map +0 -1
- package/lib/scheduleManager.js +0 -229
- package/lib/scheduleManager.js.map +0 -1
|
@@ -31,50 +31,72 @@ export type Immutable<T> = T extends ImmutablePrimitives
|
|
|
31
31
|
? ReadonlySet<Immutable<V>>
|
|
32
32
|
: { readonly [K in keyof T]: Immutable<T[K]> };
|
|
33
33
|
|
|
34
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* Minimum information for a client tracked for election consideration.
|
|
36
|
+
*/
|
|
35
37
|
export interface ITrackedClient {
|
|
36
38
|
readonly clientId: string;
|
|
37
39
|
readonly sequenceNumber: number;
|
|
38
40
|
readonly client: Immutable<IClient>;
|
|
39
41
|
}
|
|
40
42
|
|
|
41
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* Common contract for link nodes within an OrderedClientCollection.
|
|
45
|
+
*/
|
|
42
46
|
export interface ILinkNode {
|
|
43
47
|
readonly sequenceNumber: number;
|
|
44
48
|
youngerClient: ILinkedClient | undefined;
|
|
45
49
|
}
|
|
46
50
|
|
|
47
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* Placeholder root node within an OrderedClientCollection; does not represent a client.
|
|
53
|
+
*/
|
|
48
54
|
export interface IRootLinkNode extends ILinkNode {
|
|
49
55
|
readonly sequenceNumber: -1;
|
|
50
56
|
readonly olderClient: undefined;
|
|
51
57
|
}
|
|
52
58
|
|
|
53
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* Additional information required to keep track of the client within the doubly-linked list.
|
|
61
|
+
*/
|
|
54
62
|
export interface ILinkedClient extends ILinkNode, ITrackedClient {
|
|
55
63
|
olderClient: LinkNode;
|
|
56
64
|
}
|
|
57
65
|
|
|
58
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* Any link node within OrderedClientCollection including the placeholder root node.
|
|
68
|
+
*/
|
|
59
69
|
export type LinkNode = IRootLinkNode | ILinkedClient;
|
|
60
70
|
|
|
61
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Events raised by an OrderedClientCollection.
|
|
73
|
+
*/
|
|
62
74
|
export interface IOrderedClientCollectionEvents extends IEvent {
|
|
63
|
-
/**
|
|
75
|
+
/**
|
|
76
|
+
* Event fires when client is being added.
|
|
77
|
+
*/
|
|
64
78
|
(
|
|
65
79
|
event: "addClient" | "removeClient",
|
|
66
80
|
listener: (client: ILinkedClient, sequenceNumber: number) => void,
|
|
67
81
|
);
|
|
68
82
|
}
|
|
69
83
|
|
|
70
|
-
/**
|
|
84
|
+
/**
|
|
85
|
+
* Contract for a sorted collection of all clients in the quorum.
|
|
86
|
+
*/
|
|
71
87
|
export interface IOrderedClientCollection
|
|
72
88
|
extends IEventProvider<IOrderedClientCollectionEvents> {
|
|
73
|
-
/**
|
|
89
|
+
/**
|
|
90
|
+
* Count of clients in the collection.
|
|
91
|
+
*/
|
|
74
92
|
readonly count: number;
|
|
75
|
-
/**
|
|
93
|
+
/**
|
|
94
|
+
* Pointer to the oldest client in the collection.
|
|
95
|
+
*/
|
|
76
96
|
readonly oldestClient: ILinkedClient | undefined;
|
|
77
|
-
/**
|
|
97
|
+
/**
|
|
98
|
+
* Returns a sorted array of all the clients in the collection.
|
|
99
|
+
*/
|
|
78
100
|
getAllClients(): ILinkedClient[];
|
|
79
101
|
}
|
|
80
102
|
|
|
@@ -89,22 +111,28 @@ export class OrderedClientCollection
|
|
|
89
111
|
extends TypedEventEmitter<IOrderedClientCollectionEvents>
|
|
90
112
|
implements IOrderedClientCollection
|
|
91
113
|
{
|
|
92
|
-
/**
|
|
114
|
+
/**
|
|
115
|
+
* Collection of ALL clients currently in the quorum, with client ids as keys.
|
|
116
|
+
*/
|
|
93
117
|
private readonly clientMap = new Map<string, ILinkedClient>();
|
|
94
|
-
/**
|
|
118
|
+
/**
|
|
119
|
+
* Placeholder head node of linked list, for simplified null checking.
|
|
120
|
+
*/
|
|
95
121
|
private readonly rootNode: IRootLinkNode = {
|
|
96
122
|
sequenceNumber: -1,
|
|
97
123
|
olderClient: undefined,
|
|
98
124
|
youngerClient: undefined,
|
|
99
125
|
};
|
|
100
|
-
/**
|
|
126
|
+
/**
|
|
127
|
+
* Pointer to end of linked list, for optimized client adds.
|
|
128
|
+
*/
|
|
101
129
|
private _youngestClient: LinkNode = this.rootNode;
|
|
102
130
|
private readonly logger: ITelemetryLoggerExt;
|
|
103
131
|
|
|
104
|
-
public get count() {
|
|
132
|
+
public get count(): number {
|
|
105
133
|
return this.clientMap.size;
|
|
106
134
|
}
|
|
107
|
-
public get oldestClient() {
|
|
135
|
+
public get oldestClient(): ILinkedClient | undefined {
|
|
108
136
|
return this.rootNode.youngerClient;
|
|
109
137
|
}
|
|
110
138
|
|
|
@@ -201,7 +229,9 @@ export class OrderedClientCollection
|
|
|
201
229
|
return removeClient;
|
|
202
230
|
}
|
|
203
231
|
|
|
204
|
-
/**
|
|
232
|
+
/**
|
|
233
|
+
* Returns an array of all clients being tracked in order from oldest to newest.
|
|
234
|
+
*/
|
|
205
235
|
public getAllClients(): ILinkedClient[] {
|
|
206
236
|
const result: ILinkedClient[] = [];
|
|
207
237
|
let currClient: LinkNode = this.rootNode;
|
|
@@ -213,17 +243,27 @@ export class OrderedClientCollection
|
|
|
213
243
|
}
|
|
214
244
|
}
|
|
215
245
|
|
|
216
|
-
/**
|
|
246
|
+
/**
|
|
247
|
+
* Events raised by an OrderedClientElection.
|
|
248
|
+
*/
|
|
217
249
|
export interface IOrderedClientElectionEvents extends IEvent {
|
|
218
|
-
/**
|
|
250
|
+
/**
|
|
251
|
+
* Event fires when the currently elected client changes.
|
|
252
|
+
*/
|
|
219
253
|
(
|
|
220
254
|
event: "election",
|
|
221
255
|
listener: (
|
|
222
|
-
/**
|
|
256
|
+
/**
|
|
257
|
+
* Newly elected client.
|
|
258
|
+
*/
|
|
223
259
|
client: ITrackedClient | undefined,
|
|
224
|
-
/**
|
|
260
|
+
/**
|
|
261
|
+
* Sequence number where election took place.
|
|
262
|
+
*/
|
|
225
263
|
sequenceNumber: number,
|
|
226
|
-
/**
|
|
264
|
+
/**
|
|
265
|
+
* Previously elected client.
|
|
266
|
+
*/
|
|
227
267
|
prevClient: ITrackedClient | undefined,
|
|
228
268
|
) => void,
|
|
229
269
|
);
|
|
@@ -233,9 +273,12 @@ export interface IOrderedClientElectionEvents extends IEvent {
|
|
|
233
273
|
* Serialized state of IOrderedClientElection.
|
|
234
274
|
* @legacy
|
|
235
275
|
* @alpha
|
|
276
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
236
277
|
*/
|
|
237
278
|
export interface ISerializedElection {
|
|
238
|
-
/**
|
|
279
|
+
/**
|
|
280
|
+
* Sequence number at the time of the latest election.
|
|
281
|
+
*/
|
|
239
282
|
readonly electionSequenceNumber: number;
|
|
240
283
|
|
|
241
284
|
/**
|
|
@@ -248,13 +291,19 @@ export interface ISerializedElection {
|
|
|
248
291
|
*/
|
|
249
292
|
readonly electedClientId: string | undefined;
|
|
250
293
|
|
|
251
|
-
/**
|
|
294
|
+
/**
|
|
295
|
+
* Most recently elected parent client id. This is always an interactive client.
|
|
296
|
+
*/
|
|
252
297
|
readonly electedParentId: string | undefined;
|
|
253
298
|
}
|
|
254
299
|
|
|
255
|
-
/**
|
|
300
|
+
/**
|
|
301
|
+
* Contract for maintaining a deterministic client election based on eligibility.
|
|
302
|
+
*/
|
|
256
303
|
export interface IOrderedClientElection extends IEventProvider<IOrderedClientElectionEvents> {
|
|
257
|
-
/**
|
|
304
|
+
/**
|
|
305
|
+
* Count of eligible clients in the collection.
|
|
306
|
+
*/
|
|
258
307
|
readonly eligibleCount: number;
|
|
259
308
|
|
|
260
309
|
/**
|
|
@@ -266,17 +315,29 @@ export interface IOrderedClientElection extends IEventProvider<IOrderedClientEle
|
|
|
266
315
|
* 2. the non-interactive summarizer client itself.
|
|
267
316
|
*/
|
|
268
317
|
readonly electedClient: ITrackedClient | undefined;
|
|
269
|
-
/**
|
|
318
|
+
/**
|
|
319
|
+
* Currently elected parent client. This is always an interactive client.
|
|
320
|
+
*/
|
|
270
321
|
readonly electedParent: ITrackedClient | undefined;
|
|
271
|
-
/**
|
|
322
|
+
/**
|
|
323
|
+
* Sequence number of most recent election.
|
|
324
|
+
*/
|
|
272
325
|
readonly electionSequenceNumber: number;
|
|
273
|
-
/**
|
|
326
|
+
/**
|
|
327
|
+
* Resets the currently elected client back to the oldest eligible client.
|
|
328
|
+
*/
|
|
274
329
|
resetElectedClient(sequenceNumber: number): void;
|
|
275
|
-
/**
|
|
330
|
+
/**
|
|
331
|
+
* Peeks at what the next elected client would be if incrementElectedClient were called.
|
|
332
|
+
*/
|
|
276
333
|
peekNextElectedClient(): ITrackedClient | undefined;
|
|
277
|
-
/**
|
|
334
|
+
/**
|
|
335
|
+
* Returns a sorted array of all the eligible clients in the collection.
|
|
336
|
+
*/
|
|
278
337
|
getAllEligibleClients(): ITrackedClient[];
|
|
279
|
-
/**
|
|
338
|
+
/**
|
|
339
|
+
* Serialize election data
|
|
340
|
+
*/
|
|
280
341
|
serialize(): ISerializedElection;
|
|
281
342
|
}
|
|
282
343
|
|
|
@@ -295,10 +356,10 @@ export class OrderedClientElection
|
|
|
295
356
|
private _electedParent: ILinkedClient | undefined;
|
|
296
357
|
private _electionSequenceNumber: number;
|
|
297
358
|
|
|
298
|
-
public get eligibleCount() {
|
|
359
|
+
public get eligibleCount(): number {
|
|
299
360
|
return this._eligibleCount;
|
|
300
361
|
}
|
|
301
|
-
public get electionSequenceNumber() {
|
|
362
|
+
public get electionSequenceNumber(): number {
|
|
302
363
|
return this._electionSequenceNumber;
|
|
303
364
|
}
|
|
304
365
|
|
|
@@ -338,17 +399,19 @@ export class OrderedClientElection
|
|
|
338
399
|
*
|
|
339
400
|
* vii. SummaryManager running on B spawns a summarizer client, B'. electedParent === B, electedClient === B'
|
|
340
401
|
*/
|
|
341
|
-
public get electedClient() {
|
|
402
|
+
public get electedClient(): ILinkedClient | undefined {
|
|
342
403
|
return this._electedClient;
|
|
343
404
|
}
|
|
344
|
-
public get electedParent() {
|
|
405
|
+
public get electedParent(): ILinkedClient | undefined {
|
|
345
406
|
return this._electedParent;
|
|
346
407
|
}
|
|
347
408
|
|
|
348
409
|
constructor(
|
|
349
410
|
private readonly logger: ITelemetryLoggerExt,
|
|
350
411
|
private readonly orderedClientCollection: IOrderedClientCollection,
|
|
351
|
-
/**
|
|
412
|
+
/**
|
|
413
|
+
* Serialized state from summary or current sequence number at time of load if new.
|
|
414
|
+
*/
|
|
352
415
|
initialState: ISerializedElection | number,
|
|
353
416
|
private readonly isEligibleFn: (c: ITrackedClient) => boolean,
|
|
354
417
|
private readonly recordPerformanceEvents: boolean = false,
|
|
@@ -541,8 +604,15 @@ export class OrderedClientElection
|
|
|
541
604
|
this._eligibleCount--;
|
|
542
605
|
if (this._electedClient === client) {
|
|
543
606
|
// Removing the _electedClient. There are 2 possible cases:
|
|
544
|
-
if (this._electedParent
|
|
545
|
-
// 1. The _electedClient is
|
|
607
|
+
if (this._electedParent === client) {
|
|
608
|
+
// 1. The _electedClient is an interactive client that has left the quorum.
|
|
609
|
+
// Automatically shift to next oldest client.
|
|
610
|
+
const nextClient =
|
|
611
|
+
this.findFirstEligibleParent(this._electedParent?.youngerClient) ??
|
|
612
|
+
this.findFirstEligibleParent(this.orderedClientCollection.oldestClient);
|
|
613
|
+
this.tryElectingClient(nextClient, sequenceNumber, "RemoveClient");
|
|
614
|
+
} else {
|
|
615
|
+
// 2. The _electedClient is a summarizer that we've been allowing to finish its work.
|
|
546
616
|
// Let the _electedParent become the _electedClient so that it can start its own summarizer.
|
|
547
617
|
if (this._electedClient.client.details.type !== summarizerClientType) {
|
|
548
618
|
throw new UsageError("Elected client should be a summarizer client 1");
|
|
@@ -552,13 +622,6 @@ export class OrderedClientElection
|
|
|
552
622
|
sequenceNumber,
|
|
553
623
|
"RemoveSummarizerClient",
|
|
554
624
|
);
|
|
555
|
-
} else {
|
|
556
|
-
// 2. The _electedClient is an interactive client that has left the quorum.
|
|
557
|
-
// Automatically shift to next oldest client.
|
|
558
|
-
const nextClient =
|
|
559
|
-
this.findFirstEligibleParent(this._electedParent?.youngerClient) ??
|
|
560
|
-
this.findFirstEligibleParent(this.orderedClientCollection.oldestClient);
|
|
561
|
-
this.tryElectingClient(nextClient, sequenceNumber, "RemoveClient");
|
|
562
625
|
}
|
|
563
626
|
} else if (this._electedParent === client) {
|
|
564
627
|
// Removing the _electedParent (but not _electedClient).
|
|
@@ -576,7 +639,9 @@ export class OrderedClientElection
|
|
|
576
639
|
}
|
|
577
640
|
|
|
578
641
|
public getAllEligibleClients(): ITrackedClient[] {
|
|
579
|
-
return this.orderedClientCollection
|
|
642
|
+
return this.orderedClientCollection
|
|
643
|
+
.getAllClients()
|
|
644
|
+
.filter((client) => this.isEligibleFn(client));
|
|
580
645
|
}
|
|
581
646
|
|
|
582
647
|
/**
|
|
@@ -617,7 +682,7 @@ export class OrderedClientElection
|
|
|
617
682
|
sequenceNumber: number,
|
|
618
683
|
forceSend: boolean = false,
|
|
619
684
|
reason?: string,
|
|
620
|
-
) {
|
|
685
|
+
): void {
|
|
621
686
|
if (this.recordPerformanceEvents || forceSend) {
|
|
622
687
|
this.logger.sendPerformanceEvent({
|
|
623
688
|
eventName,
|
|
@@ -625,7 +690,7 @@ export class OrderedClientElection
|
|
|
625
690
|
sequenceNumber,
|
|
626
691
|
electedClientId: this.electedClient?.clientId,
|
|
627
692
|
electedParentId: this.electedParent?.clientId,
|
|
628
|
-
isEligible: client
|
|
693
|
+
isEligible: client === undefined ? false : this.isEligibleFn(client),
|
|
629
694
|
isSummarizerClient: client?.client.details.type === summarizerClientType,
|
|
630
695
|
reason,
|
|
631
696
|
});
|
|
@@ -6,13 +6,16 @@
|
|
|
6
6
|
import type { SummarizerStopReason } from "@fluidframework/container-runtime-definitions/internal";
|
|
7
7
|
import { assert, Deferred } from "@fluidframework/core-utils/internal";
|
|
8
8
|
|
|
9
|
+
// eslint-disable-next-line import/no-deprecated
|
|
9
10
|
import { IConnectableRuntime, ISummaryCancellationToken } from "./summarizerTypes.js";
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Similar to AbortController, but using promise instead of events
|
|
13
14
|
* @legacy
|
|
14
15
|
* @alpha
|
|
16
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
15
17
|
*/
|
|
18
|
+
// eslint-disable-next-line import/no-deprecated
|
|
16
19
|
export interface ICancellableSummarizerController extends ISummaryCancellationToken {
|
|
17
20
|
stop(reason: SummarizerStopReason): void;
|
|
18
21
|
}
|
|
@@ -22,6 +25,7 @@ export interface ICancellableSummarizerController extends ISummaryCancellationTo
|
|
|
22
25
|
* This object implements ISummaryCancellationToken interface but cancellation is never leveraged.
|
|
23
26
|
* @internal
|
|
24
27
|
*/
|
|
28
|
+
// eslint-disable-next-line import/no-deprecated
|
|
25
29
|
export const neverCancelledSummaryToken: ISummaryCancellationToken = {
|
|
26
30
|
cancelled: false,
|
|
27
31
|
waitCancelled: new Promise(() => {}),
|
|
@@ -36,7 +40,7 @@ export class RunWhileConnectedCoordinator implements ICancellableSummarizerContr
|
|
|
36
40
|
private _cancelled = false;
|
|
37
41
|
private readonly stopDeferred = new Deferred<SummarizerStopReason>();
|
|
38
42
|
|
|
39
|
-
public get cancelled() {
|
|
43
|
+
public get cancelled(): boolean {
|
|
40
44
|
if (!this._cancelled) {
|
|
41
45
|
assert(this.active(), 0x25d /* "We should never connect as 'read'" */);
|
|
42
46
|
|
|
@@ -63,13 +67,18 @@ export class RunWhileConnectedCoordinator implements ICancellableSummarizerContr
|
|
|
63
67
|
return this.stopDeferred.promise;
|
|
64
68
|
}
|
|
65
69
|
|
|
66
|
-
public static async create(
|
|
70
|
+
public static async create(
|
|
71
|
+
// eslint-disable-next-line import/no-deprecated
|
|
72
|
+
runtime: IConnectableRuntime,
|
|
73
|
+
active: () => boolean,
|
|
74
|
+
): Promise<RunWhileConnectedCoordinator> {
|
|
67
75
|
const obj = new RunWhileConnectedCoordinator(runtime, active);
|
|
68
76
|
await obj.waitStart();
|
|
69
77
|
return obj;
|
|
70
78
|
}
|
|
71
79
|
|
|
72
80
|
protected constructor(
|
|
81
|
+
// eslint-disable-next-line import/no-deprecated
|
|
73
82
|
private readonly runtime: IConnectableRuntime,
|
|
74
83
|
private readonly active: () => boolean,
|
|
75
84
|
) {}
|
|
@@ -87,7 +96,7 @@ export class RunWhileConnectedCoordinator implements ICancellableSummarizerContr
|
|
|
87
96
|
* of non-summarized ops, where can make determination to continue with summary even if main
|
|
88
97
|
* client is disconnected.
|
|
89
98
|
*/
|
|
90
|
-
protected async waitStart() {
|
|
99
|
+
protected async waitStart(): Promise<void> {
|
|
91
100
|
if (this.runtime.disposed) {
|
|
92
101
|
this.stop("summarizerClientDisconnected");
|
|
93
102
|
return;
|