@fluidframework/container-runtime 2.0.0-dev.5.3.2.178189 → 2.0.0-dev.6.4.0.191258
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 +123 -0
- package/README.md +4 -3
- package/dist/batchTracker.d.ts +3 -2
- package/dist/batchTracker.d.ts.map +1 -1
- package/dist/batchTracker.js +6 -5
- package/dist/batchTracker.js.map +1 -1
- package/dist/blobManager.d.ts +10 -16
- package/dist/blobManager.d.ts.map +1 -1
- package/dist/blobManager.js +184 -172
- package/dist/blobManager.js.map +1 -1
- package/dist/connectionTelemetry.d.ts.map +1 -1
- package/dist/connectionTelemetry.js +25 -16
- package/dist/connectionTelemetry.js.map +1 -1
- package/dist/containerRuntime.d.ts +161 -35
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +697 -449
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStore.d.ts.map +1 -1
- package/dist/dataStore.js +15 -7
- package/dist/dataStore.js.map +1 -1
- package/dist/dataStoreContext.d.ts +3 -2
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +83 -87
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreContexts.d.ts +1 -2
- package/dist/dataStoreContexts.d.ts.map +1 -1
- package/dist/dataStoreContexts.js +8 -9
- package/dist/dataStoreContexts.js.map +1 -1
- package/dist/dataStoreRegistry.js +2 -2
- package/dist/dataStoreRegistry.js.map +1 -1
- package/dist/dataStores.d.ts +22 -6
- package/dist/dataStores.d.ts.map +1 -1
- package/dist/dataStores.js +123 -81
- package/dist/dataStores.js.map +1 -1
- package/dist/deltaManagerProxyBase.d.ts +35 -0
- package/dist/deltaManagerProxyBase.d.ts.map +1 -0
- package/dist/deltaManagerProxyBase.js +77 -0
- package/dist/deltaManagerProxyBase.js.map +1 -0
- package/dist/deltaManagerSummarizerProxy.d.ts +1 -1
- package/dist/deltaManagerSummarizerProxy.d.ts.map +1 -1
- package/dist/deltaManagerSummarizerProxy.js +4 -2
- package/dist/deltaManagerSummarizerProxy.js.map +1 -1
- package/dist/deltaScheduler.d.ts.map +1 -1
- package/dist/deltaScheduler.js +10 -10
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/error.d.ts +14 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +21 -0
- package/dist/error.js.map +1 -0
- package/dist/gc/garbageCollection.d.ts +10 -9
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js +61 -53
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcConfigs.d.ts.map +1 -1
- package/dist/gc/gcConfigs.js +18 -14
- package/dist/gc/gcConfigs.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +17 -4
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js +14 -15
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/gc/gcHelpers.d.ts +0 -8
- package/dist/gc/gcHelpers.d.ts.map +1 -1
- package/dist/gc/gcHelpers.js +11 -24
- package/dist/gc/gcHelpers.js.map +1 -1
- package/dist/gc/gcSummaryStateTracker.d.ts +4 -7
- package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/dist/gc/gcSummaryStateTracker.js +19 -58
- package/dist/gc/gcSummaryStateTracker.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js +45 -35
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/gc/gcUnreferencedStateTracker.js +4 -4
- package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/dist/gc/index.d.ts +2 -2
- package/dist/gc/index.d.ts.map +1 -1
- package/dist/gc/index.js +3 -5
- package/dist/gc/index.js.map +1 -1
- package/dist/id-compressor/appendOnlySortedMap.d.ts +8 -30
- package/dist/id-compressor/appendOnlySortedMap.d.ts.map +1 -1
- package/dist/id-compressor/appendOnlySortedMap.js +26 -68
- package/dist/id-compressor/appendOnlySortedMap.js.map +1 -1
- package/dist/id-compressor/finalSpace.d.ts +29 -0
- package/dist/id-compressor/finalSpace.d.ts.map +1 -0
- package/dist/id-compressor/finalSpace.js +62 -0
- package/dist/id-compressor/finalSpace.js.map +1 -0
- package/dist/id-compressor/idCompressor.d.ts +25 -250
- package/dist/id-compressor/idCompressor.d.ts.map +1 -1
- package/dist/id-compressor/idCompressor.js +390 -1153
- package/dist/id-compressor/idCompressor.js.map +1 -1
- package/dist/id-compressor/identifiers.d.ts +32 -0
- package/dist/id-compressor/identifiers.d.ts.map +1 -0
- package/dist/id-compressor/identifiers.js +15 -0
- package/dist/id-compressor/identifiers.js.map +1 -0
- package/dist/id-compressor/index.d.ts +5 -6
- package/dist/id-compressor/index.d.ts.map +1 -1
- package/dist/id-compressor/index.js +20 -26
- package/dist/id-compressor/index.js.map +1 -1
- package/dist/id-compressor/persistanceUtilities.d.ts +22 -0
- package/dist/id-compressor/persistanceUtilities.d.ts.map +1 -0
- package/dist/id-compressor/persistanceUtilities.js +43 -0
- package/dist/id-compressor/persistanceUtilities.js.map +1 -0
- package/dist/id-compressor/sessionSpaceNormalizer.d.ts +46 -0
- package/dist/id-compressor/sessionSpaceNormalizer.d.ts.map +1 -0
- package/dist/id-compressor/sessionSpaceNormalizer.js +80 -0
- package/dist/id-compressor/sessionSpaceNormalizer.js.map +1 -0
- package/dist/id-compressor/sessions.d.ts +115 -0
- package/dist/id-compressor/sessions.d.ts.map +1 -0
- package/dist/id-compressor/sessions.js +305 -0
- package/dist/id-compressor/sessions.js.map +1 -0
- package/dist/id-compressor/utilities.d.ts +49 -0
- package/dist/id-compressor/utilities.d.ts.map +1 -0
- package/dist/id-compressor/utilities.js +166 -0
- package/dist/id-compressor/utilities.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/opLifecycle/batchManager.js +10 -6
- package/dist/opLifecycle/batchManager.js.map +1 -1
- package/dist/opLifecycle/opCompressor.d.ts +2 -2
- package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opCompressor.js +12 -7
- package/dist/opLifecycle/opCompressor.js.map +1 -1
- package/dist/opLifecycle/opDecompressor.d.ts +2 -2
- package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opDecompressor.js +23 -20
- package/dist/opLifecycle/opDecompressor.js.map +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js +19 -9
- package/dist/opLifecycle/opGroupingManager.js.map +1 -1
- package/dist/opLifecycle/opSplitter.d.ts +2 -2
- package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
- package/dist/opLifecycle/opSplitter.js +22 -19
- package/dist/opLifecycle/opSplitter.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +7 -5
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +22 -31
- package/dist/opLifecycle/outbox.js.map +1 -1
- package/dist/opLifecycle/remoteMessageProcessor.d.ts +6 -1
- package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
- package/dist/opLifecycle/remoteMessageProcessor.js +19 -7
- package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
- package/dist/opProperties.js +1 -2
- package/dist/opProperties.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 +18 -8
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +73 -51
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/scheduleManager.d.ts.map +1 -1
- package/dist/scheduleManager.js +36 -32
- package/dist/scheduleManager.js.map +1 -1
- package/dist/summary/index.d.ts +3 -3
- package/dist/summary/index.d.ts.map +1 -1
- package/dist/summary/index.js +2 -1
- package/dist/summary/index.js.map +1 -1
- package/dist/summary/orderedClientElection.d.ts +3 -3
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js +26 -27
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.js +3 -3
- package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/dist/summary/runningSummarizer.d.ts +31 -10
- package/dist/summary/runningSummarizer.d.ts.map +1 -1
- package/dist/summary/runningSummarizer.js +271 -139
- package/dist/summary/runningSummarizer.js.map +1 -1
- package/dist/summary/summarizer.d.ts +8 -7
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js +79 -78
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerClientElection.d.ts +2 -2
- package/dist/summary/summarizerClientElection.d.ts.map +1 -1
- package/dist/summary/summarizerClientElection.js +7 -11
- package/dist/summary/summarizerClientElection.js.map +1 -1
- package/dist/summary/summarizerHeuristics.js +10 -14
- package/dist/summary/summarizerHeuristics.js.map +1 -1
- package/dist/summary/summarizerNode/index.d.ts +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 +10 -19
- package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js +57 -130
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +6 -30
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js +2 -4
- package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +4 -14
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js +15 -101
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +38 -25
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.d.ts +2 -3
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js +12 -13
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryFormat.d.ts +3 -0
- package/dist/summary/summaryFormat.d.ts.map +1 -1
- package/dist/summary/summaryFormat.js +6 -4
- package/dist/summary/summaryFormat.js.map +1 -1
- package/dist/summary/summaryGenerator.d.ts +10 -4
- package/dist/summary/summaryGenerator.d.ts.map +1 -1
- package/dist/summary/summaryGenerator.js +106 -57
- package/dist/summary/summaryGenerator.js.map +1 -1
- package/dist/summary/summaryManager.d.ts +8 -8
- package/dist/summary/summaryManager.d.ts.map +1 -1
- package/dist/summary/summaryManager.js +38 -28
- package/dist/summary/summaryManager.js.map +1 -1
- package/lib/batchTracker.d.ts +3 -2
- package/lib/batchTracker.d.ts.map +1 -1
- package/lib/batchTracker.js +5 -4
- package/lib/batchTracker.js.map +1 -1
- package/lib/blobManager.d.ts +10 -16
- package/lib/blobManager.d.ts.map +1 -1
- package/lib/blobManager.js +159 -147
- package/lib/blobManager.js.map +1 -1
- package/lib/connectionTelemetry.d.ts.map +1 -1
- package/lib/connectionTelemetry.js +15 -6
- package/lib/connectionTelemetry.js.map +1 -1
- package/lib/containerRuntime.d.ts +161 -35
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +651 -402
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStore.d.ts.map +1 -1
- package/lib/dataStore.js +13 -5
- package/lib/dataStore.js.map +1 -1
- package/lib/dataStoreContext.d.ts +3 -2
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +47 -51
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStoreContexts.d.ts +1 -2
- package/lib/dataStoreContexts.d.ts.map +1 -1
- package/lib/dataStoreContexts.js +3 -4
- package/lib/dataStoreContexts.js.map +1 -1
- package/lib/dataStoreRegistry.js +1 -1
- package/lib/dataStoreRegistry.js.map +1 -1
- package/lib/dataStores.d.ts +22 -6
- package/lib/dataStores.d.ts.map +1 -1
- package/lib/dataStores.js +107 -65
- package/lib/dataStores.js.map +1 -1
- package/lib/deltaManagerProxyBase.d.ts +35 -0
- package/lib/deltaManagerProxyBase.d.ts.map +1 -0
- package/lib/deltaManagerProxyBase.js +73 -0
- package/lib/deltaManagerProxyBase.js.map +1 -0
- package/lib/deltaManagerSummarizerProxy.d.ts +1 -1
- package/lib/deltaManagerSummarizerProxy.d.ts.map +1 -1
- package/lib/deltaManagerSummarizerProxy.js +3 -1
- package/lib/deltaManagerSummarizerProxy.js.map +1 -1
- package/lib/deltaScheduler.d.ts.map +1 -1
- package/lib/deltaScheduler.js +7 -7
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/error.d.ts +14 -0
- package/lib/error.d.ts.map +1 -0
- package/lib/error.js +17 -0
- package/lib/error.js.map +1 -0
- package/lib/gc/garbageCollection.d.ts +10 -9
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js +61 -53
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcConfigs.d.ts.map +1 -1
- package/lib/gc/gcConfigs.js +16 -12
- package/lib/gc/gcConfigs.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +17 -4
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js +13 -14
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/gc/gcHelpers.d.ts +0 -8
- package/lib/gc/gcHelpers.d.ts.map +1 -1
- package/lib/gc/gcHelpers.js +5 -17
- package/lib/gc/gcHelpers.js.map +1 -1
- package/lib/gc/gcSummaryStateTracker.d.ts +4 -7
- package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/lib/gc/gcSummaryStateTracker.js +20 -59
- package/lib/gc/gcSummaryStateTracker.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js +46 -36
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/gc/gcUnreferencedStateTracker.js +1 -1
- package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/lib/gc/index.d.ts +2 -2
- package/lib/gc/index.d.ts.map +1 -1
- package/lib/gc/index.js +2 -2
- package/lib/gc/index.js.map +1 -1
- package/lib/id-compressor/appendOnlySortedMap.d.ts +8 -30
- package/lib/id-compressor/appendOnlySortedMap.d.ts.map +1 -1
- package/lib/id-compressor/appendOnlySortedMap.js +25 -66
- package/lib/id-compressor/appendOnlySortedMap.js.map +1 -1
- package/lib/id-compressor/finalSpace.d.ts +29 -0
- package/lib/id-compressor/finalSpace.d.ts.map +1 -0
- package/lib/id-compressor/finalSpace.js +58 -0
- package/lib/id-compressor/finalSpace.js.map +1 -0
- package/lib/id-compressor/idCompressor.d.ts +25 -250
- package/lib/id-compressor/idCompressor.d.ts.map +1 -1
- package/lib/id-compressor/idCompressor.js +385 -1142
- package/lib/id-compressor/idCompressor.js.map +1 -1
- package/lib/id-compressor/identifiers.d.ts +32 -0
- package/lib/id-compressor/identifiers.d.ts.map +1 -0
- package/lib/id-compressor/identifiers.js +11 -0
- package/lib/id-compressor/identifiers.js.map +1 -0
- package/lib/id-compressor/index.d.ts +5 -6
- package/lib/id-compressor/index.d.ts.map +1 -1
- package/lib/id-compressor/index.js +5 -6
- package/lib/id-compressor/index.js.map +1 -1
- package/lib/id-compressor/persistanceUtilities.d.ts +22 -0
- package/lib/id-compressor/persistanceUtilities.d.ts.map +1 -0
- package/lib/id-compressor/persistanceUtilities.js +34 -0
- package/lib/id-compressor/persistanceUtilities.js.map +1 -0
- package/lib/id-compressor/sessionSpaceNormalizer.d.ts +46 -0
- package/lib/id-compressor/sessionSpaceNormalizer.d.ts.map +1 -0
- package/lib/id-compressor/sessionSpaceNormalizer.js +76 -0
- package/lib/id-compressor/sessionSpaceNormalizer.js.map +1 -0
- package/lib/id-compressor/sessions.d.ts +115 -0
- package/lib/id-compressor/sessions.d.ts.map +1 -0
- package/lib/id-compressor/sessions.js +290 -0
- package/lib/id-compressor/sessions.js.map +1 -0
- package/lib/id-compressor/utilities.d.ts +49 -0
- package/lib/id-compressor/utilities.d.ts.map +1 -0
- package/lib/id-compressor/utilities.js +148 -0
- package/lib/id-compressor/utilities.js.map +1 -0
- package/lib/index.d.ts +3 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/opLifecycle/batchManager.js +10 -6
- package/lib/opLifecycle/batchManager.js.map +1 -1
- package/lib/opLifecycle/opCompressor.d.ts +2 -2
- package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opCompressor.js +10 -5
- package/lib/opLifecycle/opCompressor.js.map +1 -1
- package/lib/opLifecycle/opDecompressor.d.ts +2 -2
- package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opDecompressor.js +15 -12
- package/lib/opLifecycle/opDecompressor.js.map +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js +17 -7
- package/lib/opLifecycle/opGroupingManager.js.map +1 -1
- package/lib/opLifecycle/opSplitter.d.ts +2 -2
- package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
- package/lib/opLifecycle/opSplitter.js +13 -10
- package/lib/opLifecycle/opSplitter.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +7 -5
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +13 -22
- package/lib/opLifecycle/outbox.js.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.d.ts +6 -1
- package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.js +20 -8
- package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
- package/lib/opProperties.js +1 -2
- package/lib/opProperties.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 +18 -8
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +62 -40
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/scheduleManager.d.ts.map +1 -1
- package/lib/scheduleManager.js +18 -14
- package/lib/scheduleManager.js.map +1 -1
- package/lib/summary/index.d.ts +3 -3
- package/lib/summary/index.d.ts.map +1 -1
- package/lib/summary/index.js +1 -1
- package/lib/summary/index.js.map +1 -1
- package/lib/summary/orderedClientElection.d.ts +3 -3
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js +21 -22
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.js +1 -1
- package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/lib/summary/runningSummarizer.d.ts +31 -10
- package/lib/summary/runningSummarizer.d.ts.map +1 -1
- package/lib/summary/runningSummarizer.js +265 -133
- package/lib/summary/runningSummarizer.js.map +1 -1
- package/lib/summary/summarizer.d.ts +8 -7
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js +75 -74
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerClientElection.d.ts +2 -2
- package/lib/summary/summarizerClientElection.d.ts.map +1 -1
- package/lib/summary/summarizerClientElection.js +6 -10
- package/lib/summary/summarizerClientElection.js.map +1 -1
- package/lib/summary/summarizerHeuristics.js +9 -13
- package/lib/summary/summarizerHeuristics.js.map +1 -1
- package/lib/summary/summarizerNode/index.d.ts +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 +10 -19
- package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js +42 -115
- package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +6 -30
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js +2 -4
- package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +4 -14
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js +14 -100
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +38 -25
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.d.ts +2 -3
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js +5 -6
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryFormat.d.ts +3 -0
- package/lib/summary/summaryFormat.d.ts.map +1 -1
- package/lib/summary/summaryFormat.js +5 -3
- package/lib/summary/summaryFormat.js.map +1 -1
- package/lib/summary/summaryGenerator.d.ts +10 -4
- package/lib/summary/summaryGenerator.d.ts.map +1 -1
- package/lib/summary/summaryGenerator.js +100 -51
- package/lib/summary/summaryGenerator.js.map +1 -1
- package/lib/summary/summaryManager.d.ts +8 -8
- package/lib/summary/summaryManager.d.ts.map +1 -1
- package/lib/summary/summaryManager.js +35 -25
- package/lib/summary/summaryManager.js.map +1 -1
- package/package.json +28 -31
- package/src/batchTracker.ts +7 -5
- package/src/blobManager.ts +188 -166
- package/src/connectionTelemetry.ts +9 -4
- package/src/containerRuntime.ts +806 -441
- package/src/dataStore.ts +12 -4
- package/src/dataStoreContext.ts +39 -43
- package/src/dataStoreContexts.ts +4 -6
- package/src/dataStoreRegistry.ts +1 -1
- package/src/dataStores.ts +114 -80
- package/src/deltaManagerProxyBase.ts +111 -0
- package/src/deltaManagerSummarizerProxy.ts +4 -1
- package/src/deltaScheduler.ts +7 -11
- package/src/error.ts +18 -0
- package/src/gc/garbageCollection.md +53 -5
- package/src/gc/garbageCollection.ts +58 -52
- package/src/gc/gcConfigs.ts +4 -2
- package/src/gc/gcDefinitions.ts +17 -20
- package/src/gc/gcEarlyAdoption.md +145 -0
- package/src/gc/gcHelpers.ts +1 -12
- package/src/gc/gcSummaryStateTracker.ts +19 -65
- package/src/gc/gcTelemetry.ts +14 -12
- package/src/gc/gcUnreferencedStateTracker.ts +1 -1
- package/src/gc/index.ts +2 -4
- package/src/id-compressor/appendOnlySortedMap.ts +26 -87
- package/src/id-compressor/finalSpace.ts +67 -0
- package/src/id-compressor/idCompressor.ts +458 -1682
- package/src/id-compressor/identifiers.ts +42 -0
- package/src/id-compressor/index.ts +11 -20
- package/src/id-compressor/persistanceUtilities.ts +58 -0
- package/src/id-compressor/sessionSpaceNormalizer.ts +83 -0
- package/src/id-compressor/sessions.ts +405 -0
- package/src/id-compressor/utilities.ts +187 -0
- package/src/index.ts +7 -2
- package/src/opLifecycle/opCompressor.ts +6 -5
- package/src/opLifecycle/opDecompressor.ts +6 -4
- package/src/opLifecycle/opGroupingManager.ts +9 -6
- package/src/opLifecycle/opSplitter.ts +7 -6
- package/src/opLifecycle/outbox.ts +23 -32
- package/src/opLifecycle/remoteMessageProcessor.ts +27 -8
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +72 -42
- package/src/scheduleManager.ts +7 -5
- package/src/summary/index.ts +4 -3
- package/src/summary/orderedClientElection.ts +10 -6
- package/src/summary/runWhileConnectedCoordinator.ts +1 -1
- package/src/summary/runningSummarizer.ts +291 -163
- package/src/summary/summarizer.ts +27 -16
- package/src/summary/summarizerClientElection.ts +2 -2
- package/src/summary/summarizerHeuristics.ts +1 -1
- package/src/summary/summarizerNode/index.ts +1 -2
- package/src/summary/summarizerNode/summarizerNode.ts +36 -160
- package/src/summary/summarizerNode/summarizerNodeUtils.ts +7 -38
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +11 -130
- package/src/summary/summarizerTypes.ts +40 -25
- package/src/summary/summaryCollection.ts +3 -3
- package/src/summary/summaryFormat.ts +4 -1
- package/src/summary/summaryGenerator.ts +52 -52
- package/src/summary/summaryManager.ts +44 -17
- package/dist/id-compressor/idRange.d.ts +0 -11
- package/dist/id-compressor/idRange.d.ts.map +0 -1
- package/dist/id-compressor/idRange.js +0 -29
- package/dist/id-compressor/idRange.js.map +0 -1
- package/dist/id-compressor/numericUuid.d.ts +0 -59
- package/dist/id-compressor/numericUuid.d.ts.map +0 -1
- package/dist/id-compressor/numericUuid.js +0 -325
- package/dist/id-compressor/numericUuid.js.map +0 -1
- package/dist/id-compressor/sessionIdNormalizer.d.ts +0 -138
- package/dist/id-compressor/sessionIdNormalizer.d.ts.map +0 -1
- package/dist/id-compressor/sessionIdNormalizer.js +0 -488
- package/dist/id-compressor/sessionIdNormalizer.js.map +0 -1
- package/dist/id-compressor/utils.d.ts +0 -57
- package/dist/id-compressor/utils.d.ts.map +0 -1
- package/dist/id-compressor/utils.js +0 -90
- package/dist/id-compressor/utils.js.map +0 -1
- package/dist/id-compressor/uuidUtilities.d.ts +0 -28
- package/dist/id-compressor/uuidUtilities.d.ts.map +0 -1
- package/dist/id-compressor/uuidUtilities.js +0 -104
- package/dist/id-compressor/uuidUtilities.js.map +0 -1
- package/lib/id-compressor/idRange.d.ts +0 -11
- package/lib/id-compressor/idRange.d.ts.map +0 -1
- package/lib/id-compressor/idRange.js +0 -25
- package/lib/id-compressor/idRange.js.map +0 -1
- package/lib/id-compressor/numericUuid.d.ts +0 -59
- package/lib/id-compressor/numericUuid.d.ts.map +0 -1
- package/lib/id-compressor/numericUuid.js +0 -315
- package/lib/id-compressor/numericUuid.js.map +0 -1
- package/lib/id-compressor/sessionIdNormalizer.d.ts +0 -138
- package/lib/id-compressor/sessionIdNormalizer.d.ts.map +0 -1
- package/lib/id-compressor/sessionIdNormalizer.js +0 -484
- package/lib/id-compressor/sessionIdNormalizer.js.map +0 -1
- package/lib/id-compressor/utils.d.ts +0 -57
- package/lib/id-compressor/utils.d.ts.map +0 -1
- package/lib/id-compressor/utils.js +0 -79
- package/lib/id-compressor/utils.js.map +0 -1
- package/lib/id-compressor/uuidUtilities.d.ts +0 -28
- package/lib/id-compressor/uuidUtilities.d.ts.map +0 -1
- package/lib/id-compressor/uuidUtilities.js +0 -96
- package/lib/id-compressor/uuidUtilities.js.map +0 -1
- package/src/id-compressor/idRange.ts +0 -35
- package/src/id-compressor/numericUuid.ts +0 -383
- package/src/id-compressor/sessionIdNormalizer.ts +0 -609
- package/src/id-compressor/utils.ts +0 -114
- package/src/id-compressor/uuidUtilities.ts +0 -120
|
@@ -3,19 +3,20 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import
|
|
7
|
-
|
|
6
|
+
import Deque from "double-ended-queue";
|
|
7
|
+
|
|
8
|
+
import { IDisposable } from "@fluidframework/core-interfaces";
|
|
9
|
+
import { assert, Lazy } from "@fluidframework/core-utils";
|
|
8
10
|
import { ICriticalContainerError } from "@fluidframework/container-definitions";
|
|
9
|
-
import { DataProcessingError } from "@fluidframework/container-utils";
|
|
10
|
-
import { Lazy } from "@fluidframework/core-utils";
|
|
11
11
|
import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
12
|
-
import
|
|
13
|
-
|
|
12
|
+
import { DataProcessingError, ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
13
|
+
|
|
14
|
+
import { ContainerMessageType, SequencedContainerRuntimeMessage } from "./containerRuntime";
|
|
14
15
|
import { pkgVersion } from "./packageVersion";
|
|
15
16
|
import { IBatchMetadata } from "./metadata";
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
|
-
* ! TODO: Remove this interface in "2.0.0-internal.7.0.0" once we only read IPendingMessageNew
|
|
19
|
+
* ! TODO: Remove this interface in "2.0.0-internal.7.0.0" once we only read IPendingMessageNew (AB#4763)
|
|
19
20
|
*/
|
|
20
21
|
export interface IPendingMessageOld {
|
|
21
22
|
type: "message";
|
|
@@ -41,7 +42,7 @@ export interface IPendingMessageNew {
|
|
|
41
42
|
}
|
|
42
43
|
|
|
43
44
|
/**
|
|
44
|
-
* ! TODO: Remove this type in "2.0.0-internal.7.0.0"
|
|
45
|
+
* ! TODO: Remove this type in "2.0.0-internal.7.0.0" (AB#4763)
|
|
45
46
|
*/
|
|
46
47
|
export type IPendingState = IPendingMessageOld | IPendingMessageNew;
|
|
47
48
|
|
|
@@ -65,6 +66,7 @@ export interface IRuntimeStateHandler {
|
|
|
65
66
|
applyStashedOp(content: string): Promise<unknown>;
|
|
66
67
|
reSubmit(message: IPendingBatchMessage): void;
|
|
67
68
|
reSubmitBatch(batch: IPendingBatchMessage[]): void;
|
|
69
|
+
isActiveConnection: () => boolean;
|
|
68
70
|
}
|
|
69
71
|
|
|
70
72
|
/**
|
|
@@ -79,15 +81,17 @@ export interface IRuntimeStateHandler {
|
|
|
79
81
|
export class PendingStateManager implements IDisposable {
|
|
80
82
|
private readonly pendingMessages = new Deque<IPendingMessageNew>();
|
|
81
83
|
private readonly initialMessages = new Deque<IPendingMessageNew>();
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Sequenced local ops that are saved when stashing since pending ops may depend on them
|
|
87
|
+
*/
|
|
88
|
+
private savedOps: IPendingMessageNew[] = [];
|
|
89
|
+
|
|
82
90
|
private readonly disposeOnce = new Lazy<void>(() => {
|
|
83
91
|
this.initialMessages.clear();
|
|
84
92
|
this.pendingMessages.clear();
|
|
85
93
|
});
|
|
86
94
|
|
|
87
|
-
public get pendingMessagesCount(): number {
|
|
88
|
-
return this.pendingMessages.length;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
95
|
// Indicates whether we are processing a batch.
|
|
92
96
|
private isProcessingBatch: boolean = false;
|
|
93
97
|
|
|
@@ -97,12 +101,20 @@ export class PendingStateManager implements IDisposable {
|
|
|
97
101
|
|
|
98
102
|
private clientId: string | undefined;
|
|
99
103
|
|
|
104
|
+
/**
|
|
105
|
+
* The pending messages count. Includes `pendingMessages` and `initialMessages` to keep in sync with
|
|
106
|
+
* 'hasPendingMessages'.
|
|
107
|
+
*/
|
|
108
|
+
public get pendingMessagesCount(): number {
|
|
109
|
+
return this.pendingMessages.length + this.initialMessages.length;
|
|
110
|
+
}
|
|
111
|
+
|
|
100
112
|
/**
|
|
101
113
|
* Called to check if there are any pending messages in the pending message queue.
|
|
102
114
|
* @returns A boolean indicating whether there are messages or not.
|
|
103
115
|
*/
|
|
104
116
|
public hasPendingMessages(): boolean {
|
|
105
|
-
return
|
|
117
|
+
return this.pendingMessagesCount !== 0;
|
|
106
118
|
}
|
|
107
119
|
|
|
108
120
|
public getLocalState(): IPendingLocalState | undefined {
|
|
@@ -112,23 +124,22 @@ export class PendingStateManager implements IDisposable {
|
|
|
112
124
|
);
|
|
113
125
|
if (!this.pendingMessages.isEmpty()) {
|
|
114
126
|
return {
|
|
115
|
-
pendingStates: this.pendingMessages.toArray().map(
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
content: content.contents,
|
|
127
|
+
pendingStates: [...this.savedOps, ...this.pendingMessages.toArray()].map(
|
|
128
|
+
(message) => {
|
|
129
|
+
let content = message.content;
|
|
130
|
+
const parsedContent = JSON.parse(content);
|
|
131
|
+
// IdAllocations need their localOpMetadata stashed in the contents
|
|
132
|
+
// of the op to correctly resume the session when processing stashed ops
|
|
133
|
+
if (parsedContent.type === ContainerMessageType.IdAllocation) {
|
|
134
|
+
parsedContent.contents.stashedState = message.localOpMetadata;
|
|
135
|
+
content = JSON.stringify(parsedContent);
|
|
136
|
+
}
|
|
137
|
+
|
|
127
138
|
// delete localOpMetadata since it may not be serializable
|
|
128
139
|
// and will be regenerated by applyStashedOp()
|
|
129
|
-
localOpMetadata: undefined
|
|
130
|
-
}
|
|
131
|
-
|
|
140
|
+
return { ...message, content, localOpMetadata: undefined };
|
|
141
|
+
},
|
|
142
|
+
),
|
|
132
143
|
};
|
|
133
144
|
}
|
|
134
145
|
}
|
|
@@ -136,10 +147,11 @@ export class PendingStateManager implements IDisposable {
|
|
|
136
147
|
constructor(
|
|
137
148
|
private readonly stateHandler: IRuntimeStateHandler,
|
|
138
149
|
initialLocalState: IPendingLocalState | undefined,
|
|
150
|
+
private readonly logger: ITelemetryLoggerExt | undefined,
|
|
139
151
|
) {
|
|
140
152
|
/**
|
|
141
153
|
* Convert old local state format to the new format (IPendingMessageOld to IPendingMessageNew)
|
|
142
|
-
* ! TODO: Remove this conversion in "2.0.0-internal.7.0.0"
|
|
154
|
+
* ! TODO: Remove this conversion in "2.0.0-internal.7.0.0" (AB#4763)
|
|
143
155
|
*/
|
|
144
156
|
if (initialLocalState?.pendingStates) {
|
|
145
157
|
for (const initialState of initialLocalState.pendingStates) {
|
|
@@ -230,7 +242,7 @@ export class PendingStateManager implements IDisposable {
|
|
|
230
242
|
* the batch information was preserved for batch messages.
|
|
231
243
|
* @param message - The message that got ack'd and needs to be processed.
|
|
232
244
|
*/
|
|
233
|
-
public processPendingLocalMessage(message:
|
|
245
|
+
public processPendingLocalMessage(message: SequencedContainerRuntimeMessage): unknown {
|
|
234
246
|
// Pre-processing part - This may be the start of a batch.
|
|
235
247
|
this.maybeProcessBatchBegin(message);
|
|
236
248
|
|
|
@@ -240,10 +252,16 @@ export class PendingStateManager implements IDisposable {
|
|
|
240
252
|
pendingMessage !== undefined,
|
|
241
253
|
0x169 /* "No pending message found for this remote message" */,
|
|
242
254
|
);
|
|
255
|
+
this.savedOps.push(pendingMessage);
|
|
256
|
+
|
|
243
257
|
this.pendingMessages.shift();
|
|
244
258
|
|
|
245
|
-
|
|
246
|
-
//
|
|
259
|
+
// IMPORTANT: Order matters here, this must match the order of the properties used
|
|
260
|
+
// when submitting the message.
|
|
261
|
+
const { type, contents, compatDetails } = message;
|
|
262
|
+
const messageContent = JSON.stringify({ type, contents, compatDetails });
|
|
263
|
+
|
|
264
|
+
// Stringified content should match
|
|
247
265
|
if (pendingMessage.content !== messageContent) {
|
|
248
266
|
this.stateHandler.close(
|
|
249
267
|
DataProcessingError.create(
|
|
@@ -364,18 +382,16 @@ export class PendingStateManager implements IDisposable {
|
|
|
364
382
|
0x174 /* "initial states should be empty before replaying pending" */,
|
|
365
383
|
);
|
|
366
384
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
return;
|
|
370
|
-
}
|
|
385
|
+
const initialPendingMessagesCount = this.pendingMessages.length;
|
|
386
|
+
let remainingPendingMessagesCount = this.pendingMessages.length;
|
|
371
387
|
|
|
372
388
|
// Process exactly `pendingMessagesCount` items in the queue as it represents the number of messages that were
|
|
373
389
|
// pending when we connected. This is important because the `reSubmitFn` might add more items in the queue
|
|
374
390
|
// which must not be replayed.
|
|
375
|
-
while (
|
|
391
|
+
while (remainingPendingMessagesCount > 0) {
|
|
376
392
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
377
393
|
let pendingMessage = this.pendingMessages.shift()!;
|
|
378
|
-
|
|
394
|
+
remainingPendingMessagesCount--;
|
|
379
395
|
assert(
|
|
380
396
|
pendingMessage.opMetadata?.batch !== false,
|
|
381
397
|
0x41b /* We cannot process batches in chunks */,
|
|
@@ -388,14 +404,14 @@ export class PendingStateManager implements IDisposable {
|
|
|
388
404
|
*/
|
|
389
405
|
if (pendingMessage.opMetadata?.batch) {
|
|
390
406
|
assert(
|
|
391
|
-
|
|
407
|
+
remainingPendingMessagesCount > 0,
|
|
392
408
|
0x554 /* Last pending message cannot be a batch begin */,
|
|
393
409
|
);
|
|
394
410
|
|
|
395
411
|
const batch: IPendingBatchMessage[] = [];
|
|
396
412
|
|
|
397
413
|
// check is >= because batch end may be last pending message
|
|
398
|
-
while (
|
|
414
|
+
while (remainingPendingMessagesCount >= 0) {
|
|
399
415
|
batch.push({
|
|
400
416
|
content: pendingMessage.content,
|
|
401
417
|
localOpMetadata: pendingMessage.localOpMetadata,
|
|
@@ -405,11 +421,11 @@ export class PendingStateManager implements IDisposable {
|
|
|
405
421
|
if (pendingMessage.opMetadata?.batch === false) {
|
|
406
422
|
break;
|
|
407
423
|
}
|
|
408
|
-
assert(
|
|
424
|
+
assert(remainingPendingMessagesCount > 0, 0x555 /* No batch end found */);
|
|
409
425
|
|
|
410
426
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
411
427
|
pendingMessage = this.pendingMessages.shift()!;
|
|
412
|
-
|
|
428
|
+
remainingPendingMessagesCount--;
|
|
413
429
|
assert(
|
|
414
430
|
pendingMessage.opMetadata?.batch !== true,
|
|
415
431
|
0x556 /* Batch start needs a corresponding batch end */,
|
|
@@ -425,5 +441,19 @@ export class PendingStateManager implements IDisposable {
|
|
|
425
441
|
});
|
|
426
442
|
}
|
|
427
443
|
}
|
|
444
|
+
|
|
445
|
+
// pending ops should no longer depend on previous sequenced local ops after resubmit
|
|
446
|
+
this.savedOps = [];
|
|
447
|
+
|
|
448
|
+
// We replayPendingStates on read connections too - we expect these to get nack'd though, and to then reconnect
|
|
449
|
+
// on a write connection and replay again. This filters out the replay that happens on the read connection so
|
|
450
|
+
// we only see the replays on write connections (that have a chance to go through).
|
|
451
|
+
if (this.stateHandler.isActiveConnection()) {
|
|
452
|
+
this.logger?.sendTelemetryEvent({
|
|
453
|
+
eventName: "PendingStatesReplayed",
|
|
454
|
+
count: initialPendingMessagesCount,
|
|
455
|
+
clientId: this.stateHandler.clientId(),
|
|
456
|
+
});
|
|
457
|
+
}
|
|
428
458
|
}
|
|
429
459
|
}
|
package/src/scheduleManager.ts
CHANGED
|
@@ -5,14 +5,16 @@
|
|
|
5
5
|
import { EventEmitter } from "events";
|
|
6
6
|
import { IDeltaManager } from "@fluidframework/container-definitions";
|
|
7
7
|
import { IDocumentMessage, ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
8
|
-
import { ITelemetryLoggerExt, ChildLogger } from "@fluidframework/telemetry-utils";
|
|
9
|
-
import { assert, performance } from "@fluidframework/common-utils";
|
|
10
|
-
import { isRuntimeMessage } from "@fluidframework/driver-utils";
|
|
11
8
|
import {
|
|
9
|
+
createChildLogger,
|
|
12
10
|
DataCorruptionError,
|
|
13
11
|
DataProcessingError,
|
|
14
12
|
extractSafePropertiesFromMessage,
|
|
15
|
-
|
|
13
|
+
ITelemetryLoggerExt,
|
|
14
|
+
} from "@fluidframework/telemetry-utils";
|
|
15
|
+
import { assert } from "@fluidframework/core-utils";
|
|
16
|
+
import { performance } from "@fluid-internal/client-utils";
|
|
17
|
+
import { isRuntimeMessage } from "@fluidframework/driver-utils";
|
|
16
18
|
import { DeltaScheduler } from "./deltaScheduler";
|
|
17
19
|
import { pkgVersion } from "./packageVersion";
|
|
18
20
|
import { IBatchMetadata } from "./metadata";
|
|
@@ -45,7 +47,7 @@ export class ScheduleManager {
|
|
|
45
47
|
) {
|
|
46
48
|
this.deltaScheduler = new DeltaScheduler(
|
|
47
49
|
this.deltaManager,
|
|
48
|
-
|
|
50
|
+
createChildLogger({ logger: this.logger, namespace: "DeltaScheduler" }),
|
|
49
51
|
);
|
|
50
52
|
void new ScheduleManagerCore(deltaManager, getClientId, logger);
|
|
51
53
|
}
|
package/src/summary/index.ts
CHANGED
|
@@ -11,7 +11,7 @@ export {
|
|
|
11
11
|
OrderedClientCollection,
|
|
12
12
|
OrderedClientElection,
|
|
13
13
|
} from "./orderedClientElection";
|
|
14
|
-
export { RunningSummarizer } from "./runningSummarizer";
|
|
14
|
+
export { defaultMaxAttemptsForSubmitFailures, RunningSummarizer } from "./runningSummarizer";
|
|
15
15
|
export {
|
|
16
16
|
ICancellableSummarizerController,
|
|
17
17
|
neverCancelledSummaryToken,
|
|
@@ -28,10 +28,9 @@ export { SummarizeHeuristicData, SummarizeHeuristicRunner } from "./summarizerHe
|
|
|
28
28
|
export {
|
|
29
29
|
createRootSummarizerNode,
|
|
30
30
|
createRootSummarizerNodeWithGC,
|
|
31
|
-
|
|
31
|
+
IRefreshSummaryResult,
|
|
32
32
|
IRootSummarizerNode,
|
|
33
33
|
IRootSummarizerNodeWithGC,
|
|
34
|
-
RefreshSummaryResult,
|
|
35
34
|
} from "./summarizerNode";
|
|
36
35
|
export {
|
|
37
36
|
IConnectableRuntime,
|
|
@@ -64,6 +63,8 @@ export {
|
|
|
64
63
|
SummarizeResultPart,
|
|
65
64
|
SubmitSummaryFailureData,
|
|
66
65
|
SummaryStage,
|
|
66
|
+
IRetriableFailureResult,
|
|
67
|
+
ISummarizeEventProps,
|
|
67
68
|
} from "./summarizerTypes";
|
|
68
69
|
export {
|
|
69
70
|
IAckedSummary,
|
|
@@ -3,11 +3,15 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
/* eslint-disable @rushstack/no-new-null */
|
|
6
|
-
import { IEvent, IEventProvider } from "@fluidframework/
|
|
7
|
-
import {
|
|
8
|
-
|
|
6
|
+
import { IEvent, IEventProvider, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
7
|
+
import {
|
|
8
|
+
ITelemetryLoggerExt,
|
|
9
|
+
createChildLogger,
|
|
10
|
+
UsageError,
|
|
11
|
+
} from "@fluidframework/telemetry-utils";
|
|
12
|
+
import { assert } from "@fluidframework/core-utils";
|
|
13
|
+
import { TypedEventEmitter } from "@fluid-internal/client-utils";
|
|
9
14
|
import { IDeltaManager } from "@fluidframework/container-definitions";
|
|
10
|
-
import { UsageError } from "@fluidframework/container-utils";
|
|
11
15
|
import { IClient, IQuorumClients, ISequencedClient } from "@fluidframework/protocol-definitions";
|
|
12
16
|
import { summarizerClientType } from "./summarizerClientElection";
|
|
13
17
|
|
|
@@ -101,12 +105,12 @@ export class OrderedClientCollection
|
|
|
101
105
|
}
|
|
102
106
|
|
|
103
107
|
constructor(
|
|
104
|
-
logger:
|
|
108
|
+
logger: ITelemetryBaseLogger,
|
|
105
109
|
deltaManager: Pick<IDeltaManager<unknown, unknown>, "lastSequenceNumber">,
|
|
106
110
|
quorum: Pick<IQuorumClients, "getMembers" | "on">,
|
|
107
111
|
) {
|
|
108
112
|
super();
|
|
109
|
-
this.logger =
|
|
113
|
+
this.logger = createChildLogger({ logger, namespace: "OrderedClientCollection" });
|
|
110
114
|
const members = quorum.getMembers();
|
|
111
115
|
for (const [clientId, client] of members) {
|
|
112
116
|
this.addClient(clientId, client);
|