@fluidframework/container-runtime 2.12.0 → 2.20.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 +36 -0
- package/CHANGELOG.md +50 -0
- package/api-report/container-runtime.legacy.alpha.api.md +9 -203
- package/container-runtime.test-files.tar +0 -0
- package/dist/batchTracker.d.ts.map +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 +16 -2
- package/dist/blobManager/blobManager.js.map +1 -1
- package/dist/blobManager/blobManagerSnapSum.d.ts.map +1 -1
- 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 +22 -12
- package/dist/channelCollection.js.map +1 -1
- package/dist/connectionTelemetry.d.ts.map +1 -1
- package/dist/connectionTelemetry.js +6 -2
- 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 +74 -65
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +53 -37
- 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 +2 -1
- 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 +31 -18
- 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 +6 -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 +12 -5
- 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 +2 -1
- package/dist/gc/gcConfigs.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +210 -70
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js +39 -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 +6 -2
- package/dist/gc/gcHelpers.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.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 +6 -2
- 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/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 +9 -3
- package/dist/opLifecycle/duplicateBatchDetector.js.map +1 -1
- package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opCompressor.js.map +1 -1
- package/dist/opLifecycle/opDecompressor.d.ts +3 -1
- package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opDecompressor.js +12 -8
- package/dist/opLifecycle/opDecompressor.js.map +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts +0 -1
- package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js +5 -4
- package/dist/opLifecycle/opGroupingManager.js.map +1 -1
- package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
- package/dist/opLifecycle/opSplitter.js +2 -1
- package/dist/opLifecycle/opSplitter.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +1 -1
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +6 -1
- 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.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 -6
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +43 -5
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/summary/documentSchema.d.ts.map +1 -1
- package/dist/summary/documentSchema.js +2 -0
- 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 +93 -31
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js +15 -5
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
- 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 +12 -4
- package/dist/summary/runningSummarizer.js.map +1 -1
- package/dist/summary/summarizer.d.ts +9 -5
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js +9 -3
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerClientElection.d.ts.map +1 -1
- 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 +12 -4
- package/dist/summary/summarizerHeuristics.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 +15 -5
- 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 +12 -4
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js +12 -4
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +246 -135
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js +1 -4
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryFormat.d.ts +24 -8
- package/dist/summary/summaryFormat.d.ts.map +1 -1
- 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 +3 -1
- 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 +12 -4
- 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.map +1 -1
- 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 +16 -2
- package/lib/blobManager/blobManager.js.map +1 -1
- package/lib/blobManager/blobManagerSnapSum.d.ts.map +1 -1
- 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 +22 -12
- package/lib/channelCollection.js.map +1 -1
- package/lib/connectionTelemetry.d.ts.map +1 -1
- package/lib/connectionTelemetry.js +6 -2
- 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 +74 -65
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +53 -37
- 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 +2 -1
- 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 +31 -18
- 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 +6 -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 +95 -89
- 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 +12 -5
- 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 +1 -1
- package/lib/gc/gcConfigs.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +210 -70
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js +39 -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 +6 -2
- package/lib/gc/gcHelpers.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.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 +6 -2
- 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/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 +9 -3
- package/lib/opLifecycle/duplicateBatchDetector.js.map +1 -1
- package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opCompressor.js +1 -1
- package/lib/opLifecycle/opCompressor.js.map +1 -1
- package/lib/opLifecycle/opDecompressor.d.ts +3 -1
- package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opDecompressor.js +13 -9
- package/lib/opLifecycle/opDecompressor.js.map +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts +0 -1
- package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js +6 -5
- package/lib/opLifecycle/opGroupingManager.js.map +1 -1
- package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
- package/lib/opLifecycle/opSplitter.js +2 -1
- package/lib/opLifecycle/opSplitter.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +1 -1
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +6 -1
- 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.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 -6
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +41 -4
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/summary/documentSchema.d.ts.map +1 -1
- package/lib/summary/documentSchema.js +2 -0
- 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 +93 -31
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js +15 -5
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
- 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 +12 -4
- package/lib/summary/runningSummarizer.js.map +1 -1
- package/lib/summary/summarizer.d.ts +9 -5
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js +9 -3
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerClientElection.d.ts.map +1 -1
- 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 +12 -4
- package/lib/summary/summarizerHeuristics.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 +15 -5
- 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 +12 -4
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js +12 -4
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +246 -135
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js +1 -4
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryFormat.d.ts +24 -8
- package/lib/summary/summaryFormat.d.ts.map +1 -1
- 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 +3 -1
- 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 +12 -4
- 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 +44 -31
- package/src/batchTracker.ts +31 -33
- package/src/blobManager/blobManager.ts +38 -19
- package/src/blobManager/blobManagerSnapSum.ts +1 -1
- package/src/channelCollection.ts +44 -37
- package/src/connectionTelemetry.ts +31 -13
- package/src/containerHandleContext.ts +2 -2
- package/src/containerRuntime.ts +198 -140
- package/src/dataStore.ts +11 -6
- package/src/dataStoreContext.ts +80 -59
- package/src/dataStoreContexts.ts +16 -12
- package/src/dataStoreRegistry.ts +1 -1
- package/src/deltaManagerProxies.ts +5 -5
- package/src/deltaScheduler.ts +19 -13
- package/src/gc/garbageCollection.ts +41 -18
- package/src/gc/gcConfigs.ts +4 -4
- package/src/gc/gcDefinitions.ts +212 -70
- package/src/gc/gcHelpers.ts +11 -5
- package/src/gc/gcSummaryDefinitions.ts +18 -6
- package/src/gc/gcSummaryStateTracker.ts +4 -2
- package/src/gc/gcTelemetry.ts +47 -19
- package/src/gc/gcUnreferencedStateTracker.ts +40 -16
- package/src/gc/index.ts +1 -0
- package/src/{scheduleManager.ts → inboundBatchAggregator.ts} +54 -121
- package/src/index.ts +0 -3
- package/src/messageTypes.ts +14 -5
- package/src/metadata.ts +12 -4
- package/src/opLifecycle/batchManager.ts +12 -6
- package/src/opLifecycle/duplicateBatchDetector.ts +10 -4
- package/src/opLifecycle/opCompressor.ts +8 -4
- package/src/opLifecycle/opDecompressor.ts +20 -11
- package/src/opLifecycle/opGroupingManager.ts +12 -8
- package/src/opLifecycle/opSplitter.ts +11 -8
- package/src/opLifecycle/outbox.ts +22 -13
- package/src/opLifecycle/remoteMessageProcessor.ts +10 -4
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +71 -15
- package/src/summary/documentSchema.ts +30 -18
- package/src/summary/index.ts +0 -3
- package/src/summary/orderedClientElection.ts +100 -38
- package/src/summary/runWhileConnectedCoordinator.ts +6 -3
- package/src/summary/runningSummarizer.ts +38 -19
- package/src/summary/summarizer.ts +29 -16
- package/src/summary/summarizerClientElection.ts +2 -2
- package/src/summary/summarizerHeuristics.ts +22 -11
- package/src/summary/summarizerNode/summarizerNode.ts +22 -12
- package/src/summary/summarizerNode/summarizerNodeUtils.ts +48 -16
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +21 -11
- package/src/summary/summarizerTypes.ts +246 -139
- package/src/summary/summaryCollection.ts +24 -25
- package/src/summary/summaryFormat.ts +24 -8
- package/src/summary/summaryGenerator.ts +14 -8
- package/src/summary/summaryManager.ts +28 -18
- package/src/throttler.ts +23 -11
- package/dist/scheduleManager.d.ts +0 -28
- package/dist/scheduleManager.d.ts.map +0 -1
- package/dist/scheduleManager.js +0 -235
- 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 -231
- package/lib/scheduleManager.js.map +0 -1
package/lib/containerRuntime.js
CHANGED
|
@@ -23,12 +23,13 @@ import { ContainerFluidHandleContext } from "./containerHandleContext.js";
|
|
|
23
23
|
import { channelToDataStore } from "./dataStore.js";
|
|
24
24
|
import { FluidDataStoreRegistry } from "./dataStoreRegistry.js";
|
|
25
25
|
import { DeltaManagerPendingOpsProxy, DeltaManagerSummarizerProxy, } from "./deltaManagerProxies.js";
|
|
26
|
+
import { DeltaScheduler } from "./deltaScheduler.js";
|
|
26
27
|
import { GCNodeType, GarbageCollector, gcGenerationOptionName, } from "./gc/index.js";
|
|
28
|
+
import { InboundBatchAggregator } from "./inboundBatchAggregator.js";
|
|
27
29
|
import { ContainerMessageType, } from "./messageTypes.js";
|
|
28
30
|
import { DuplicateBatchDetector, ensureContentsDeserialized, OpCompressor, OpDecompressor, OpGroupingManager, OpSplitter, Outbox, RemoteMessageProcessor, serializeOpContents, } from "./opLifecycle/index.js";
|
|
29
31
|
import { pkgVersion } from "./packageVersion.js";
|
|
30
32
|
import { PendingStateManager, } from "./pendingStateManager.js";
|
|
31
|
-
import { ScheduleManager } from "./scheduleManager.js";
|
|
32
33
|
import { DocumentsSchemaController, OrderedClientCollection, OrderedClientElection, RetriableSummaryError, RunWhileConnectedCoordinator, Summarizer, SummarizerClientElection, SummaryCollection, SummaryManager, aliasBlobName, chunksBlobName, recentBatchInfoBlobName, createRootSummarizerNodeWithGC, electedSummarizerBlobName, extractSummaryMetadataMessage, idCompressorBlobName, metadataBlobName, rootHasIsolatedChannels, summarizerClientType, wrapSummaryInChannelsTree, } from "./summary/index.js";
|
|
33
34
|
import { Throttler, formExponentialFn } from "./throttler.js";
|
|
34
35
|
/**
|
|
@@ -89,7 +90,9 @@ export const TombstoneResponseHeaderKey = "isTombstoned";
|
|
|
89
90
|
* to this was experimental and is no longer supported.
|
|
90
91
|
*/
|
|
91
92
|
export const InactiveResponseHeaderKey = "isInactive";
|
|
92
|
-
/**
|
|
93
|
+
/**
|
|
94
|
+
* Default values for Runtime Headers
|
|
95
|
+
*/
|
|
93
96
|
export const defaultRuntimeHeaderData = {
|
|
94
97
|
wait: true,
|
|
95
98
|
viaHandle: false,
|
|
@@ -125,9 +128,13 @@ const defaultCompressionConfig = {
|
|
|
125
128
|
compressionAlgorithm: CompressionAlgorithms.lz4,
|
|
126
129
|
};
|
|
127
130
|
const defaultChunkSizeInBytes = 204800;
|
|
128
|
-
/**
|
|
131
|
+
/**
|
|
132
|
+
* The default time to wait for pending ops to be processed during summarization
|
|
133
|
+
*/
|
|
129
134
|
export const defaultPendingOpsWaitTimeoutMs = 1000;
|
|
130
|
-
/**
|
|
135
|
+
/**
|
|
136
|
+
* The default time to delay a summarization retry attempt when there are pending ops
|
|
137
|
+
*/
|
|
131
138
|
export const defaultPendingOpsRetryDelayMs = 1000;
|
|
132
139
|
/**
|
|
133
140
|
* Instead of refreshing from latest because we do not have 100% confidence in the state
|
|
@@ -153,6 +160,7 @@ export function getDeviceSpec() {
|
|
|
153
160
|
try {
|
|
154
161
|
if (typeof navigator === "object" && navigator !== null) {
|
|
155
162
|
return {
|
|
163
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
|
|
156
164
|
deviceMemory: navigator.deviceMemory,
|
|
157
165
|
hardwareConcurrency: navigator.hardwareConcurrency,
|
|
158
166
|
};
|
|
@@ -203,12 +211,15 @@ async function createSummarizer(loader, url) {
|
|
|
203
211
|
fluidObject = await resolvedContainer.getEntryPoint();
|
|
204
212
|
}
|
|
205
213
|
else {
|
|
214
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment
|
|
206
215
|
const response = await resolvedContainer.request({
|
|
207
216
|
url: `/${summarizerRequestUrl}`,
|
|
208
217
|
});
|
|
218
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
209
219
|
if (response.status !== 200 || response.mimeType !== "fluid/object") {
|
|
210
220
|
throw responseToException(response, request);
|
|
211
221
|
}
|
|
222
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
|
|
212
223
|
fluidObject = response.value;
|
|
213
224
|
}
|
|
214
225
|
if (fluidObject?.ISummarizer === undefined) {
|
|
@@ -256,11 +267,7 @@ export async function loadContainerRuntime(params) {
|
|
|
256
267
|
* Represents the runtime of the container. Contains helper functions/state of the container.
|
|
257
268
|
* It will define the store level mappings.
|
|
258
269
|
*
|
|
259
|
-
* @
|
|
260
|
-
* Use the loadContainerRuntime function and interfaces IContainerRuntime / IRuntime instead.
|
|
261
|
-
*
|
|
262
|
-
* @legacy
|
|
263
|
-
* @alpha
|
|
270
|
+
* @internal
|
|
264
271
|
*/
|
|
265
272
|
export class ContainerRuntime extends TypedEventEmitter {
|
|
266
273
|
/**
|
|
@@ -295,7 +302,9 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
295
302
|
},
|
|
296
303
|
});
|
|
297
304
|
const mc = loggerToMonitoringContext(logger);
|
|
298
|
-
const { summaryOptions = {}, gcOptions = {}, loadSequenceNumberVerification = "close", flushMode = defaultFlushMode, compressionOptions =
|
|
305
|
+
const { summaryOptions = {}, gcOptions = {}, loadSequenceNumberVerification = "close", flushMode = defaultFlushMode, compressionOptions = runtimeOptions.enableGroupedBatching === false
|
|
306
|
+
? disabledCompressionConfig // Compression must be disabled if Grouping is disabled
|
|
307
|
+
: defaultCompressionConfig, maxBatchSizeInBytes = defaultMaxBatchSizeInBytes, enableRuntimeIdCompressor, chunkSizeInBytes = defaultChunkSizeInBytes, enableGroupedBatching = true, explicitSchemaControl = false, } = runtimeOptions;
|
|
299
308
|
const registry = new FluidDataStoreRegistry(registryEntries);
|
|
300
309
|
const tryFetchBlob = async (blobName) => {
|
|
301
310
|
const blobId = context.baseSnapshot?.blobs[blobName];
|
|
@@ -424,6 +433,9 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
424
433
|
}, (schema) => {
|
|
425
434
|
runtime.onSchemaChange(schema);
|
|
426
435
|
});
|
|
436
|
+
if (compressionLz4 && !enableGroupedBatching) {
|
|
437
|
+
throw new UsageError("If compression is enabled, op grouping must be enabled too");
|
|
438
|
+
}
|
|
427
439
|
const featureGatesForTelemetry = {};
|
|
428
440
|
// Make sure we've got all the options including internal ones
|
|
429
441
|
const internalRuntimeOptions = {
|
|
@@ -484,7 +496,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
484
496
|
* has to deal with compressed ops as other clients might send them.
|
|
485
497
|
* And in reverse, session schema can have compression Off, but feature gates / runtime options want it On.
|
|
486
498
|
* In such case it will be off in session schema, however this client will propose change to schema, and once / if
|
|
487
|
-
* this op
|
|
499
|
+
* this op roundtrips, compression will be On. Client can't send compressed ops until it's change in schema.
|
|
488
500
|
*/
|
|
489
501
|
get sessionSchema() {
|
|
490
502
|
return this.documentsSchemaController.sessionSchema.runtime;
|
|
@@ -493,7 +505,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
493
505
|
return this.sessionSchema.idCompressorMode;
|
|
494
506
|
}
|
|
495
507
|
/**
|
|
496
|
-
*
|
|
508
|
+
* {@inheritDoc @fluidframework/runtime-definitions#IContainerRuntimeBase.idCompressor}
|
|
497
509
|
*/
|
|
498
510
|
get idCompressor() {
|
|
499
511
|
// Expose ID Compressor only if it's On from the start.
|
|
@@ -506,7 +518,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
506
518
|
}
|
|
507
519
|
}
|
|
508
520
|
/**
|
|
509
|
-
*
|
|
521
|
+
* {@inheritDoc @fluidframework/runtime-definitions#IContainerRuntimeBase.generateDocumentUniqueId}
|
|
510
522
|
*/
|
|
511
523
|
generateDocumentUniqueId() {
|
|
512
524
|
return this._idCompressor?.generateDocumentUniqueId() ?? uuid();
|
|
@@ -542,7 +554,9 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
542
554
|
get connected() {
|
|
543
555
|
return this._connected;
|
|
544
556
|
}
|
|
545
|
-
/**
|
|
557
|
+
/**
|
|
558
|
+
* clientId of parent (non-summarizing) container that owns summarizer container
|
|
559
|
+
*/
|
|
546
560
|
get summarizerClientId() {
|
|
547
561
|
return this.summarizerClientElection?.electedClientId;
|
|
548
562
|
}
|
|
@@ -640,7 +654,6 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
640
654
|
// Backfill in defaults for the internal runtimeOptions, since they may not be present on the provided runtimeOptions object
|
|
641
655
|
this.runtimeOptions = {
|
|
642
656
|
flushMode: defaultFlushMode,
|
|
643
|
-
enableGroupedBatching: true,
|
|
644
657
|
...runtimeOptions,
|
|
645
658
|
};
|
|
646
659
|
this.logger = createChildLogger({ logger: this.baseLogger });
|
|
@@ -719,6 +732,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
719
732
|
eventName: "GCFeatureMatrix",
|
|
720
733
|
metadataValue: JSON.stringify(metadata?.gcFeatureMatrix),
|
|
721
734
|
inputs: JSON.stringify({
|
|
735
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
722
736
|
gcOptions_gcGeneration: this.runtimeOptions.gcOptions[gcGenerationOptionName],
|
|
723
737
|
}),
|
|
724
738
|
});
|
|
@@ -727,8 +741,6 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
727
741
|
const opGroupingManager = new OpGroupingManager({
|
|
728
742
|
groupedBatchingEnabled: this.groupedBatchingEnabled,
|
|
729
743
|
opCountThreshold: this.mc.config.getNumber("Fluid.ContainerRuntime.GroupedBatchingOpCount") ?? 2,
|
|
730
|
-
reentrantBatchGroupingEnabled: this.mc.config.getBoolean("Fluid.ContainerRuntime.GroupedBatchingReentrancy") ??
|
|
731
|
-
true,
|
|
732
744
|
}, this.mc.logger);
|
|
733
745
|
const opSplitter = new OpSplitter(chunks, this.submitBatchFn, runtimeOptions.chunkSizeInBytes, runtimeOptions.maxBatchSizeInBytes, this.mc.logger);
|
|
734
746
|
this.remoteMessageProcessor = new RemoteMessageProcessor(opSplitter, new OpDecompressor(this.mc.logger), opGroupingManager);
|
|
@@ -879,7 +891,8 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
879
891
|
stashedBlobs: pendingRuntimeState?.pendingAttachmentBlobs,
|
|
880
892
|
closeContainer: (error) => this.closeFn(error),
|
|
881
893
|
});
|
|
882
|
-
this.
|
|
894
|
+
this.deltaScheduler = new DeltaScheduler(this.innerDeltaManager, this, createChildLogger({ logger: this.logger, namespace: "DeltaScheduler" }));
|
|
895
|
+
this.inboundBatchAggregator = new InboundBatchAggregator(this.innerDeltaManager, () => this.clientId, createChildLogger({ logger: this.logger, namespace: "InboundBatchAggregator" }));
|
|
883
896
|
const disablePartialFlush = this.mc.config.getBoolean("Fluid.ContainerRuntime.DisablePartialFlush");
|
|
884
897
|
const legacySendBatchFn = makeLegacySendBatchFn(this.submitFn, this.innerDeltaManager);
|
|
885
898
|
this.outbox = new Outbox({
|
|
@@ -1061,13 +1074,14 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1061
1074
|
deleteChildSummarizerNode(id) {
|
|
1062
1075
|
return this.summarizerNode.deleteChild(id);
|
|
1063
1076
|
}
|
|
1064
|
-
|
|
1077
|
+
// #region `IFluidParentContext` APIs that should not be called on Root
|
|
1065
1078
|
makeLocallyVisible() {
|
|
1066
1079
|
assert(false, 0x8eb /* should not be called */);
|
|
1067
1080
|
}
|
|
1068
1081
|
setChannelDirty(address) {
|
|
1069
1082
|
assert(false, 0x909 /* should not be called */);
|
|
1070
1083
|
}
|
|
1084
|
+
// #endregion
|
|
1071
1085
|
/**
|
|
1072
1086
|
* Initializes the state from the base snapshot this container runtime loaded from.
|
|
1073
1087
|
*/
|
|
@@ -1098,6 +1112,8 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1098
1112
|
this._summarizer?.dispose();
|
|
1099
1113
|
this.channelCollection.dispose();
|
|
1100
1114
|
this.pendingStateManager.dispose();
|
|
1115
|
+
this.inboundBatchAggregator.dispose();
|
|
1116
|
+
this.deltaScheduler.dispose();
|
|
1101
1117
|
this.emit("dispose");
|
|
1102
1118
|
this.removeAllListeners();
|
|
1103
1119
|
}
|
|
@@ -1270,7 +1286,9 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1270
1286
|
internalId(maybeAlias) {
|
|
1271
1287
|
return this.channelCollection.internalId(maybeAlias);
|
|
1272
1288
|
}
|
|
1273
|
-
/**
|
|
1289
|
+
/**
|
|
1290
|
+
* Adds the container's metadata to the given summary tree.
|
|
1291
|
+
*/
|
|
1274
1292
|
addMetadataToSummary(summaryTree) {
|
|
1275
1293
|
// The last message processed at the time of summary. If there are no new messages, use the message from the
|
|
1276
1294
|
// last summary.
|
|
@@ -1639,7 +1657,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1639
1657
|
}
|
|
1640
1658
|
}
|
|
1641
1659
|
/**
|
|
1642
|
-
* Processes inbound message(s). It calls
|
|
1660
|
+
* Processes inbound message(s). It calls delta scheduler according to the messages' location in the batch.
|
|
1643
1661
|
* @param messagesWithMetadata - messages to process along with their metadata.
|
|
1644
1662
|
* @param locationInBatch - Are we processing the start and/or end of a batch?
|
|
1645
1663
|
* @param local - true if the messages were originally generated by the client receiving it.
|
|
@@ -1651,7 +1669,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1651
1669
|
if (locationInBatch.batchStart) {
|
|
1652
1670
|
const firstMessage = messagesWithMetadata[0]?.message;
|
|
1653
1671
|
assert(firstMessage !== undefined, 0xa31 /* Batch must have at least one message */);
|
|
1654
|
-
this.
|
|
1672
|
+
this.emit("batchBegin", firstMessage);
|
|
1655
1673
|
}
|
|
1656
1674
|
let error;
|
|
1657
1675
|
try {
|
|
@@ -1663,7 +1681,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1663
1681
|
});
|
|
1664
1682
|
return;
|
|
1665
1683
|
}
|
|
1666
|
-
//
|
|
1684
|
+
// Updates a message's minimum sequence number to the minimum sequence number that container
|
|
1667
1685
|
// runtime is tracking and sets _processedClientSequenceNumber. It returns the updated message.
|
|
1668
1686
|
const updateSequenceNumbers = (message) => {
|
|
1669
1687
|
// Set the minimum sequence number to the containerRuntime's understanding of minimum sequence number.
|
|
@@ -1694,7 +1712,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1694
1712
|
}
|
|
1695
1713
|
let bunchedMessagesContent = [];
|
|
1696
1714
|
let previousMessage;
|
|
1697
|
-
//
|
|
1715
|
+
// Process the previous bunch of messages.
|
|
1698
1716
|
const sendBunchedMessages = () => {
|
|
1699
1717
|
assert(previousMessage !== undefined, 0xa67 /* previous message must exist */);
|
|
1700
1718
|
this.ensureNoDataModelChanges(() => {
|
|
@@ -1736,7 +1754,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1736
1754
|
if (locationInBatch.batchEnd) {
|
|
1737
1755
|
const lastMessage = messagesWithMetadata[messagesWithMetadata.length - 1]?.message;
|
|
1738
1756
|
assert(lastMessage !== undefined, 0xa32 /* Batch must have at least one message */);
|
|
1739
|
-
this.
|
|
1757
|
+
this.emit("batchEnd", error, lastMessage);
|
|
1740
1758
|
}
|
|
1741
1759
|
}
|
|
1742
1760
|
}
|
|
@@ -2043,15 +2061,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
2043
2061
|
return this.channelCollection.createDetachedDataStore(pkg, loadingGroupId);
|
|
2044
2062
|
}
|
|
2045
2063
|
async createDataStore(pkg, loadingGroupId) {
|
|
2046
|
-
const context = this.channelCollection.createDataStoreContext(Array.isArray(pkg) ? pkg : [pkg],
|
|
2047
|
-
loadingGroupId);
|
|
2048
|
-
return channelToDataStore(await context.realize(), context.id, this.channelCollection, this.mc.logger);
|
|
2049
|
-
}
|
|
2050
|
-
/**
|
|
2051
|
-
* @deprecated 0.16 Issue #1537, #3631
|
|
2052
|
-
*/
|
|
2053
|
-
async _createDataStoreWithProps(pkg, props) {
|
|
2054
|
-
const context = this.channelCollection.createDataStoreContext(Array.isArray(pkg) ? pkg : [pkg], props);
|
|
2064
|
+
const context = this.channelCollection.createDataStoreContext(Array.isArray(pkg) ? pkg : [pkg], loadingGroupId);
|
|
2055
2065
|
return channelToDataStore(await context.realize(), context.id, this.channelCollection, this.mc.logger);
|
|
2056
2066
|
}
|
|
2057
2067
|
canSendOps() {
|
|
@@ -2078,7 +2088,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
2078
2088
|
get isDirty() {
|
|
2079
2089
|
return this.dirtyContainer;
|
|
2080
2090
|
}
|
|
2081
|
-
isContainerMessageDirtyable({ type, contents }) {
|
|
2091
|
+
isContainerMessageDirtyable({ type, contents, }) {
|
|
2082
2092
|
// Certain container runtime messages should not mark the container dirty such as the old built-in
|
|
2083
2093
|
// AgentScheduler and Garbage collector messages.
|
|
2084
2094
|
switch (type) {
|
|
@@ -2744,7 +2754,11 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
2744
2754
|
this.emit(dirty ? "dirty" : "saved");
|
|
2745
2755
|
}
|
|
2746
2756
|
}
|
|
2747
|
-
submitMessage(type,
|
|
2757
|
+
submitMessage(type,
|
|
2758
|
+
// TODO: better typing
|
|
2759
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
|
|
2760
|
+
contents, localOpMetadata = undefined) {
|
|
2761
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
2748
2762
|
this.submit({ type, contents }, localOpMetadata);
|
|
2749
2763
|
}
|
|
2750
2764
|
async uploadBlob(blob, signal) {
|
|
@@ -2974,7 +2988,9 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
2974
2988
|
throw new Error(`Can't rollback ${type}`);
|
|
2975
2989
|
}
|
|
2976
2990
|
}
|
|
2977
|
-
/**
|
|
2991
|
+
/**
|
|
2992
|
+
* Implementation of ISummarizerInternalsProvider.refreshLatestSummaryAck
|
|
2993
|
+
*/
|
|
2978
2994
|
async refreshLatestSummaryAck(options) {
|
|
2979
2995
|
const { proposalHandle, ackHandle, summaryRefSeq, summaryLogger } = options;
|
|
2980
2996
|
// proposalHandle is always passed from RunningSummarizer.
|