@fluidframework/container-runtime 2.0.0-rc.3.0.3 → 2.0.0-rc.4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/api-report/container-runtime.api.md +72 -34
- package/dist/batchTracker.d.ts +1 -1
- package/dist/batchTracker.d.ts.map +1 -1
- package/dist/batchTracker.js.map +1 -1
- package/dist/blobManager.d.ts +7 -7
- package/dist/blobManager.d.ts.map +1 -1
- package/dist/blobManager.js +2 -4
- package/dist/blobManager.js.map +1 -1
- package/dist/channelCollection.d.ts +6 -4
- package/dist/channelCollection.d.ts.map +1 -1
- package/dist/channelCollection.js +20 -7
- 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 +54 -5
- package/dist/connectionTelemetry.js.map +1 -1
- package/dist/containerRuntime.d.ts +17 -35
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +194 -163
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStore.d.ts +1 -1
- package/dist/dataStore.d.ts.map +1 -1
- package/dist/dataStore.js.map +1 -1
- package/dist/dataStoreContext.d.ts +9 -6
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +19 -5
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreContexts.d.ts.map +1 -1
- package/dist/dataStoreContexts.js.map +1 -1
- package/dist/deltaManagerProxies.d.ts +81 -0
- package/dist/deltaManagerProxies.d.ts.map +1 -0
- package/dist/{deltaManagerSummarizerProxy.js → deltaManagerProxies.js} +75 -20
- package/dist/deltaManagerProxies.js.map +1 -0
- package/dist/deltaScheduler.d.ts +2 -2
- package/dist/deltaScheduler.d.ts.map +1 -1
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/gc/garbageCollection.d.ts +1 -1
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +1 -1
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts +1 -2
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +6 -1
- package/dist/messageTypes.d.ts +5 -2
- package/dist/messageTypes.d.ts.map +1 -1
- package/dist/messageTypes.js.map +1 -1
- package/dist/metadata.d.ts +2 -2
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js.map +1 -1
- package/dist/opLifecycle/batchManager.d.ts +4 -1
- package/dist/opLifecycle/batchManager.d.ts.map +1 -1
- package/dist/opLifecycle/batchManager.js +0 -10
- package/dist/opLifecycle/batchManager.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +0 -4
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +7 -38
- package/dist/opLifecycle/outbox.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 +9 -2
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +26 -10
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/scheduleManager.d.ts +2 -2
- package/dist/scheduleManager.d.ts.map +1 -1
- package/dist/scheduleManager.js.map +1 -1
- package/dist/summary/documentSchema.d.ts +3 -1
- package/dist/summary/documentSchema.d.ts.map +1 -1
- package/dist/summary/documentSchema.js +25 -7
- 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 +2 -2
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runningSummarizer.js +10 -10
- package/dist/summary/runningSummarizer.js.map +1 -1
- package/dist/summary/summarizer.d.ts +1 -2
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerClientElection.d.ts +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 +1 -1
- package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
- package/dist/summary/summarizerHeuristics.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.d.ts +4 -3
- package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js +4 -10
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +2 -3
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +1 -2
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js +2 -9
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +3 -5
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.d.ts +2 -2
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryFormat.d.ts +25 -5
- package/dist/summary/summaryFormat.d.ts.map +1 -1
- package/dist/summary/summaryFormat.js.map +1 -1
- package/dist/summary/summaryGenerator.d.ts +1 -2
- package/dist/summary/summaryGenerator.d.ts.map +1 -1
- package/dist/summary/summaryGenerator.js +12 -11
- package/dist/summary/summaryGenerator.js.map +1 -1
- package/dist/summary/summaryManager.d.ts.map +1 -1
- package/dist/summary/summaryManager.js +5 -5
- package/dist/summary/summaryManager.js.map +1 -1
- package/lib/batchTracker.d.ts +1 -1
- package/lib/batchTracker.d.ts.map +1 -1
- package/lib/batchTracker.js.map +1 -1
- package/lib/blobManager.d.ts +7 -7
- package/lib/blobManager.d.ts.map +1 -1
- package/lib/blobManager.js +3 -5
- package/lib/blobManager.js.map +1 -1
- package/lib/channelCollection.d.ts +6 -4
- package/lib/channelCollection.d.ts.map +1 -1
- package/lib/channelCollection.js +21 -8
- 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 +49 -0
- package/lib/connectionTelemetry.js.map +1 -1
- package/lib/containerRuntime.d.ts +17 -35
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +195 -164
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStore.d.ts +1 -1
- package/lib/dataStore.d.ts.map +1 -1
- package/lib/dataStore.js +1 -1
- package/lib/dataStore.js.map +1 -1
- package/lib/dataStoreContext.d.ts +9 -6
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +21 -7
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStoreContexts.d.ts.map +1 -1
- package/lib/dataStoreContexts.js.map +1 -1
- package/lib/deltaManagerProxies.d.ts +81 -0
- package/lib/deltaManagerProxies.d.ts.map +1 -0
- package/lib/{deltaManagerSummarizerProxy.js → deltaManagerProxies.js} +72 -19
- package/lib/deltaManagerProxies.js.map +1 -0
- package/lib/deltaScheduler.d.ts +2 -2
- package/lib/deltaScheduler.d.ts.map +1 -1
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/gc/garbageCollection.d.ts +1 -1
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +1 -1
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts +1 -2
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +6 -1
- package/lib/messageTypes.d.ts +5 -2
- package/lib/messageTypes.d.ts.map +1 -1
- package/lib/messageTypes.js.map +1 -1
- package/lib/metadata.d.ts +2 -2
- package/lib/metadata.d.ts.map +1 -1
- package/lib/metadata.js.map +1 -1
- package/lib/opLifecycle/batchManager.d.ts +4 -1
- package/lib/opLifecycle/batchManager.d.ts.map +1 -1
- package/lib/opLifecycle/batchManager.js +0 -10
- package/lib/opLifecycle/batchManager.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +0 -4
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +7 -38
- package/lib/opLifecycle/outbox.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 +9 -2
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +27 -11
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/scheduleManager.d.ts +2 -2
- package/lib/scheduleManager.d.ts.map +1 -1
- package/lib/scheduleManager.js.map +1 -1
- package/lib/summary/documentSchema.d.ts +3 -1
- package/lib/summary/documentSchema.d.ts.map +1 -1
- package/lib/summary/documentSchema.js +25 -7
- 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 +2 -2
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js +1 -1
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runningSummarizer.js +1 -1
- package/lib/summary/runningSummarizer.js.map +1 -1
- package/lib/summary/summarizer.d.ts +1 -2
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerClientElection.d.ts +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 +1 -1
- package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
- package/lib/summary/summarizerHeuristics.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.d.ts +4 -3
- package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js +4 -10
- package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +2 -3
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +1 -2
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js +2 -9
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +3 -5
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.d.ts +2 -2
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryFormat.d.ts +25 -5
- package/lib/summary/summaryFormat.d.ts.map +1 -1
- package/lib/summary/summaryFormat.js.map +1 -1
- package/lib/summary/summaryGenerator.d.ts +1 -2
- package/lib/summary/summaryGenerator.d.ts.map +1 -1
- package/lib/summary/summaryGenerator.js +5 -4
- package/lib/summary/summaryGenerator.js.map +1 -1
- package/lib/summary/summaryManager.d.ts.map +1 -1
- package/lib/summary/summaryManager.js +2 -2
- package/lib/summary/summaryManager.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +28 -50
- package/src/batchTracker.ts +1 -2
- package/src/blobManager.ts +11 -10
- package/src/channelCollection.ts +30 -12
- package/src/connectionTelemetry.ts +59 -4
- package/src/containerRuntime.ts +262 -239
- package/src/dataStore.ts +7 -4
- package/src/dataStoreContext.ts +57 -16
- package/src/dataStoreContexts.ts +1 -2
- package/src/{deltaManagerSummarizerProxy.ts → deltaManagerProxies.ts} +98 -24
- package/src/deltaScheduler.ts +2 -3
- package/src/gc/garbageCollection.ts +1 -1
- package/src/gc/gcDefinitions.ts +1 -1
- package/src/gc/gcTelemetry.ts +1 -3
- package/src/index.ts +5 -0
- package/src/messageTypes.ts +4 -2
- package/src/metadata.ts +2 -2
- package/src/opLifecycle/README.md +4 -4
- package/src/opLifecycle/batchManager.ts +5 -14
- package/src/opLifecycle/outbox.ts +7 -53
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +38 -15
- package/src/scheduleManager.ts +2 -2
- package/src/summary/documentSchema.ts +37 -12
- package/src/summary/index.ts +4 -0
- package/src/summary/orderedClientElection.ts +6 -3
- package/src/summary/runningSummarizer.ts +1 -1
- package/src/summary/summarizer.ts +1 -1
- package/src/summary/summarizerClientElection.ts +1 -1
- package/src/summary/summarizerHeuristics.ts +1 -1
- package/src/summary/summarizerNode/summarizerNode.ts +3 -12
- package/src/summary/summarizerNode/summarizerNodeUtils.ts +2 -3
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +1 -10
- package/src/summary/summarizerTypes.ts +6 -5
- package/src/summary/summaryCollection.ts +2 -2
- package/src/summary/summaryFormat.ts +30 -4
- package/src/summary/summaryGenerator.ts +20 -9
- package/src/summary/summaryManager.ts +6 -3
- package/dist/deltaManagerSummarizerProxy.d.ts +0 -44
- package/dist/deltaManagerSummarizerProxy.d.ts.map +0 -1
- package/dist/deltaManagerSummarizerProxy.js.map +0 -1
- package/lib/deltaManagerSummarizerProxy.d.ts +0 -44
- package/lib/deltaManagerSummarizerProxy.d.ts.map +0 -1
- package/lib/deltaManagerSummarizerProxy.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,51 @@
|
|
|
1
1
|
# @fluidframework/container-runtime
|
|
2
2
|
|
|
3
|
+
## 2.0.0-rc.4.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- Audience & connection sequencing improvements [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
8
|
+
|
|
9
|
+
Here are breaking changes in Audience behavior:
|
|
10
|
+
|
|
11
|
+
1. IAudience no longer implements EventEmmiter. If you used addListener() or removeListener(), please replace with on() & off() respectively.
|
|
12
|
+
2. IAudience interface implements getSelf() method and "selfChanged" event.
|
|
13
|
+
3. IContainerContext.audience is no longer optional
|
|
14
|
+
4. "connected" events are now raised (various API surfaces - IContainer, IContainerRuntime, IFluidDataStoreRuntime, etc.) a bit later in reconnection sequence for "read" connections - only after client receives its own "join" signal and caught up on ops, which makes it symmetrical with "write" connections.
|
|
15
|
+
|
|
16
|
+
- If this change in behavior breaks some scenario, please let us know immediately, but you can revert that behavior using the following feature gates:
|
|
17
|
+
- "Fluid.Container.DisableCatchUpBeforeDeclaringConnected"
|
|
18
|
+
- "Fluid.Container.DisableJoinSignalWait"
|
|
19
|
+
|
|
20
|
+
- container-runtime: Make op grouping On by default [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
21
|
+
|
|
22
|
+
Op grouping feature reduces number of ops on the wire by grouping all ops in a batch. This allows applications to substantially reduce chances of being throttled by service when sending a lot of ops.
|
|
23
|
+
This feature could be enabled only by applications that have consumed 2.0.0-internal.7.0.2 version and have application version based on it saturated in the marker (to 99.99% or higher). Enabling it too soon will result on old client crashing when processing grouped ops.
|
|
24
|
+
|
|
25
|
+
The feature has been proven in production in Loop app, as it was enabled through feature gates at 100% in PROD.
|
|
26
|
+
All internal applications (Loop, Whiteboard) that send telemetry to our common Kusto tenant are already at or above minimal required version of runtime.
|
|
27
|
+
|
|
28
|
+
If your application does not satisfy these deployment requirements, please disable op grouping via passing IContainerRuntimeOptions.enableGroupedBatching = false when calling ContainerRuntime.load().
|
|
29
|
+
|
|
30
|
+
### Minor Changes
|
|
31
|
+
|
|
32
|
+
- Type Erase IFluidDataStoreRuntime.deltaManager [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
33
|
+
|
|
34
|
+
Make IFluidDataStoreRuntime.deltaManager have an opaque type.
|
|
35
|
+
Marks the following types which were reachable from it as alpha:
|
|
36
|
+
|
|
37
|
+
- IConnectionDetails
|
|
38
|
+
- IDeltaSender
|
|
39
|
+
- IDeltaManagerEvents
|
|
40
|
+
- IDeltaManager
|
|
41
|
+
- IDeltaQueueEvents
|
|
42
|
+
- IDeltaQueue
|
|
43
|
+
- ReadOnlyInfo
|
|
44
|
+
|
|
45
|
+
As a temporary workaround, users needing access to the full delta manager API can use the `@alpha` `toDeltaManagerInternal` API to retrieve its members, but should migrate away from requiring access to those APIs.
|
|
46
|
+
|
|
47
|
+
Implementing a custom `IFluidDataStoreRuntime` is not supported: this is now indicated by it being marked with `@sealed`.
|
|
48
|
+
|
|
3
49
|
## 2.0.0-rc.3.0.0
|
|
4
50
|
|
|
5
51
|
### Major Changes
|
|
@@ -10,7 +10,8 @@ import { ContainerWarning } from '@fluidframework/container-definitions/internal
|
|
|
10
10
|
import { CreateChildSummarizerNodeFn } from '@fluidframework/runtime-definitions/internal';
|
|
11
11
|
import { CreateChildSummarizerNodeParam } from '@fluidframework/runtime-definitions/internal';
|
|
12
12
|
import { FluidDataStoreRegistryEntry } from '@fluidframework/runtime-definitions/internal';
|
|
13
|
-
import { FluidObject } from '@fluidframework/core-interfaces';
|
|
13
|
+
import { FluidObject } from '@fluidframework/core-interfaces/internal';
|
|
14
|
+
import { FluidObject as FluidObject_2 } from '@fluidframework/core-interfaces';
|
|
14
15
|
import { FlushMode } from '@fluidframework/runtime-definitions/internal';
|
|
15
16
|
import { IAudience } from '@fluidframework/container-definitions';
|
|
16
17
|
import { IClientDetails } from '@fluidframework/protocol-definitions';
|
|
@@ -20,20 +21,23 @@ import { IContainerRuntimeBase } from '@fluidframework/runtime-definitions/inter
|
|
|
20
21
|
import { IContainerRuntimeEvents } from '@fluidframework/container-runtime-definitions/internal';
|
|
21
22
|
import { ICriticalContainerError } from '@fluidframework/container-definitions';
|
|
22
23
|
import { IDataStore } from '@fluidframework/runtime-definitions/internal';
|
|
23
|
-
import { IDeltaManager } from '@fluidframework/container-definitions';
|
|
24
|
+
import { IDeltaManager } from '@fluidframework/container-definitions/internal';
|
|
24
25
|
import { IDisposable } from '@fluidframework/core-interfaces';
|
|
25
26
|
import { IDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
26
27
|
import { IDocumentStorageService } from '@fluidframework/driver-definitions/internal';
|
|
27
28
|
import { IEnvelope } from '@fluidframework/runtime-definitions/internal';
|
|
28
29
|
import { IEvent } from '@fluidframework/core-interfaces';
|
|
30
|
+
import { IEvent as IEvent_2 } from '@fluidframework/core-interfaces/internal';
|
|
29
31
|
import { IEventProvider } from '@fluidframework/core-interfaces';
|
|
30
32
|
import { IFluidDataStoreChannel } from '@fluidframework/runtime-definitions/internal';
|
|
31
33
|
import { IFluidDataStoreContext } from '@fluidframework/runtime-definitions/internal';
|
|
32
34
|
import { IFluidDataStoreContextDetached } from '@fluidframework/runtime-definitions/internal';
|
|
33
35
|
import { IFluidDataStoreFactory } from '@fluidframework/runtime-definitions/internal';
|
|
34
36
|
import { IFluidDataStoreRegistry } from '@fluidframework/runtime-definitions/internal';
|
|
35
|
-
import { IFluidHandle } from '@fluidframework/core-interfaces';
|
|
36
|
-
import { IFluidHandleContext } from '@fluidframework/core-interfaces';
|
|
37
|
+
import { IFluidHandle } from '@fluidframework/core-interfaces/internal';
|
|
38
|
+
import { IFluidHandleContext } from '@fluidframework/core-interfaces/internal';
|
|
39
|
+
import { IFluidHandleContext as IFluidHandleContext_2 } from '@fluidframework/core-interfaces';
|
|
40
|
+
import { IFluidHandleInternal } from '@fluidframework/core-interfaces/internal';
|
|
37
41
|
import { IFluidParentContext } from '@fluidframework/runtime-definitions/internal';
|
|
38
42
|
import { IGarbageCollectionData } from '@fluidframework/runtime-definitions';
|
|
39
43
|
import { IGarbageCollectionDetailsBase } from '@fluidframework/runtime-definitions/internal';
|
|
@@ -41,13 +45,16 @@ import { IGetPendingLocalStateProps } from '@fluidframework/container-definition
|
|
|
41
45
|
import type { IIdCompressor } from '@fluidframework/id-compressor';
|
|
42
46
|
import type { IIdCompressorCore } from '@fluidframework/id-compressor/internal';
|
|
43
47
|
import { IInboundSignalMessage } from '@fluidframework/runtime-definitions';
|
|
44
|
-
import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
|
|
48
|
+
import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces/internal';
|
|
45
49
|
import { IQuorumClients } from '@fluidframework/protocol-definitions';
|
|
46
|
-
import { IRequest } from '@fluidframework/core-interfaces';
|
|
47
|
-
import {
|
|
50
|
+
import { IRequest } from '@fluidframework/core-interfaces/internal';
|
|
51
|
+
import { IRequest as IRequest_2 } from '@fluidframework/core-interfaces';
|
|
52
|
+
import { IResponse } from '@fluidframework/core-interfaces/internal';
|
|
53
|
+
import { IResponse as IResponse_2 } from '@fluidframework/core-interfaces';
|
|
48
54
|
import { IRuntime } from '@fluidframework/container-definitions/internal';
|
|
49
55
|
import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
50
56
|
import { ISignalMessage } from '@fluidframework/protocol-definitions';
|
|
57
|
+
import type { ISnapshot } from '@fluidframework/driver-definitions/internal';
|
|
51
58
|
import { ISnapshotTree } from '@fluidframework/protocol-definitions';
|
|
52
59
|
import { ISummarizeResult } from '@fluidframework/runtime-definitions/internal';
|
|
53
60
|
import { ISummarizerNodeWithGC } from '@fluidframework/runtime-definitions/internal';
|
|
@@ -59,7 +66,7 @@ import { ISummaryTree } from '@fluidframework/protocol-definitions';
|
|
|
59
66
|
import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
|
|
60
67
|
import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
|
|
61
68
|
import { ITelemetryContext } from '@fluidframework/runtime-definitions';
|
|
62
|
-
import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
|
|
69
|
+
import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils/internal';
|
|
63
70
|
import { MessageType } from '@fluidframework/protocol-definitions';
|
|
64
71
|
import { MonitoringContext } from '@fluidframework/telemetry-utils/internal';
|
|
65
72
|
import { NamedFluidDataStoreRegistryEntries } from '@fluidframework/runtime-definitions/internal';
|
|
@@ -77,7 +84,7 @@ export const AllowTombstoneRequestHeaderKey = "allowTombstone";
|
|
|
77
84
|
|
|
78
85
|
// @internal
|
|
79
86
|
export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
|
|
80
|
-
constructor(baseSnapshot: ISnapshotTree | undefined, parentContext: IFluidParentContext, baseLogger: ITelemetryBaseLogger, gcNodeUpdated: (props: IGCNodeUpdatedProps) => void, isDataStoreDeleted: (nodePath: string) => boolean, aliasMap: Map<string, string>, provideEntryPoint: (runtime: ChannelCollection) => Promise<
|
|
87
|
+
constructor(baseSnapshot: ISnapshotTree | ISnapshot | undefined, parentContext: IFluidParentContext, baseLogger: ITelemetryBaseLogger, gcNodeUpdated: (props: IGCNodeUpdatedProps) => void, isDataStoreDeleted: (nodePath: string) => boolean, aliasMap: Map<string, string>, provideEntryPoint: (runtime: ChannelCollection) => Promise<FluidObject_2>);
|
|
81
88
|
// (undocumented)
|
|
82
89
|
get aliases(): ReadonlyMap<string, string>;
|
|
83
90
|
// (undocumented)
|
|
@@ -87,7 +94,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
|
|
|
87
94
|
// (undocumented)
|
|
88
95
|
readonly attachOpFiredForDataStore: Set<string>;
|
|
89
96
|
// (undocumented)
|
|
90
|
-
protected readonly baseSnapshot: ISnapshotTree | undefined;
|
|
97
|
+
protected readonly baseSnapshot: ISnapshotTree | ISnapshot | undefined;
|
|
91
98
|
// (undocumented)
|
|
92
99
|
readonly containerLoadStats: {
|
|
93
100
|
readonly containerLoadDataStoreCount: number;
|
|
@@ -110,7 +117,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
|
|
|
110
117
|
// (undocumented)
|
|
111
118
|
get disposed(): boolean;
|
|
112
119
|
// (undocumented)
|
|
113
|
-
readonly entryPoint:
|
|
120
|
+
readonly entryPoint: IFluidHandleInternal<FluidObject_2>;
|
|
114
121
|
getAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
|
|
115
122
|
getDataStoreIfAvailable(id: string, requestHeaderData: RuntimeHeaderData): Promise<IFluidDataStoreContextInternal | undefined>;
|
|
116
123
|
getDataStorePackagePath(nodePath: string): Promise<readonly string[] | undefined>;
|
|
@@ -134,7 +141,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
|
|
|
134
141
|
// (undocumented)
|
|
135
142
|
processSignal(messageArg: IInboundSignalMessage, local: boolean): void;
|
|
136
143
|
// (undocumented)
|
|
137
|
-
request(request:
|
|
144
|
+
request(request: IRequest_2): Promise<IResponse_2>;
|
|
138
145
|
// (undocumented)
|
|
139
146
|
reSubmit(type: string, content: any, localOpMetadata: unknown): void;
|
|
140
147
|
// (undocumented)
|
|
@@ -162,7 +169,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
|
|
|
162
169
|
|
|
163
170
|
// @internal (undocumented)
|
|
164
171
|
export class ChannelCollectionFactory<T extends ChannelCollection = ChannelCollection> implements IFluidDataStoreFactory {
|
|
165
|
-
constructor(registryEntries: NamedFluidDataStoreRegistryEntries, provideEntryPoint: (runtime: IFluidDataStoreChannel) => Promise<
|
|
172
|
+
constructor(registryEntries: NamedFluidDataStoreRegistryEntries, provideEntryPoint: (runtime: IFluidDataStoreChannel) => Promise<FluidObject_2>, ctor: (...args: ConstructorParameters<typeof ChannelCollection>) => T);
|
|
166
173
|
// (undocumented)
|
|
167
174
|
get IFluidDataStoreFactory(): this;
|
|
168
175
|
// (undocumented)
|
|
@@ -250,14 +257,6 @@ export class ContainerRuntime extends TypedEventEmitter<IContainerRuntimeEvents
|
|
|
250
257
|
// (undocumented)
|
|
251
258
|
readonly disposeFn: (error?: ICriticalContainerError) => void;
|
|
252
259
|
// (undocumented)
|
|
253
|
-
get documentSchema(): {
|
|
254
|
-
explicitSchemaControl?: true | undefined;
|
|
255
|
-
compressionLz4?: true | undefined;
|
|
256
|
-
idCompressorMode?: IdCompressorMode;
|
|
257
|
-
opGroupingEnabled?: true | undefined;
|
|
258
|
-
disallowedVersions?: string[] | undefined;
|
|
259
|
-
};
|
|
260
|
-
// (undocumented)
|
|
261
260
|
enqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;
|
|
262
261
|
ensureNoDataModelChanges<T>(callback: () => T): T;
|
|
263
262
|
// (undocumented)
|
|
@@ -327,6 +326,13 @@ export class ContainerRuntime extends TypedEventEmitter<IContainerRuntimeEvents
|
|
|
327
326
|
resolveHandle(request: IRequest): Promise<IResponse>;
|
|
328
327
|
// (undocumented)
|
|
329
328
|
get scope(): FluidObject;
|
|
329
|
+
get sessionSchema(): {
|
|
330
|
+
explicitSchemaControl?: true | undefined;
|
|
331
|
+
compressionLz4?: true | undefined;
|
|
332
|
+
idCompressorMode?: IdCompressorMode;
|
|
333
|
+
opGroupingEnabled?: true | undefined;
|
|
334
|
+
disallowedVersions?: string[] | undefined;
|
|
335
|
+
};
|
|
330
336
|
// (undocumented)
|
|
331
337
|
setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void;
|
|
332
338
|
// (undocumented)
|
|
@@ -354,7 +360,7 @@ export class ContainerRuntime extends TypedEventEmitter<IContainerRuntimeEvents
|
|
|
354
360
|
updateTombstonedRoutes(tombstonedRoutes: readonly string[]): void;
|
|
355
361
|
updateUsedRoutes(usedRoutes: readonly string[]): void;
|
|
356
362
|
// (undocumented)
|
|
357
|
-
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<
|
|
363
|
+
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandleInternal<ArrayBufferLike>>;
|
|
358
364
|
}
|
|
359
365
|
|
|
360
366
|
// @internal @deprecated
|
|
@@ -414,7 +420,7 @@ export type DocumentSchemaValueType = string | string[] | true | number | undefi
|
|
|
414
420
|
|
|
415
421
|
// @alpha
|
|
416
422
|
export class DocumentsSchemaController {
|
|
417
|
-
constructor(existing: boolean, documentMetadataSchema: IDocumentSchema | undefined, features: IDocumentSchemaFeatures, onSchemaChange: (schema: IDocumentSchemaCurrent) => void);
|
|
423
|
+
constructor(existing: boolean, snapshotSequenceNumber: number, documentMetadataSchema: IDocumentSchema | undefined, features: IDocumentSchemaFeatures, onSchemaChange: (schema: IDocumentSchemaCurrent) => void);
|
|
418
424
|
maybeSendSchemaMessage(): IDocumentSchemaChangeMessage | undefined;
|
|
419
425
|
// (undocumented)
|
|
420
426
|
onDisconnect(): void;
|
|
@@ -440,7 +446,7 @@ export type EnqueueSummarizeResult = (ISummarizeResults & {
|
|
|
440
446
|
export abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidDataStoreContextEvents> implements IFluidDataStoreContextInternal, IFluidParentContext, IDisposable {
|
|
441
447
|
constructor(props: IFluidDataStoreContextProps, existing: boolean, isLocalDataStore: boolean, makeLocallyVisibleFn: () => void);
|
|
442
448
|
// @deprecated (undocumented)
|
|
443
|
-
addedGCOutboundReference(srcHandle:
|
|
449
|
+
addedGCOutboundReference(srcHandle: IFluidHandleInternal, outboundHandle: IFluidHandleInternal): void;
|
|
444
450
|
addedGCOutboundRoute(fromPath: string, toPath: string): void;
|
|
445
451
|
// (undocumented)
|
|
446
452
|
applyStashedOp(contents: any): Promise<unknown>;
|
|
@@ -512,7 +518,7 @@ export abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidData
|
|
|
512
518
|
// (undocumented)
|
|
513
519
|
get IFluidDataStoreRegistry(): IFluidDataStoreRegistry | undefined;
|
|
514
520
|
// (undocumented)
|
|
515
|
-
get IFluidHandleContext():
|
|
521
|
+
get IFluidHandleContext(): IFluidHandleContext_2;
|
|
516
522
|
protected isInMemoryRoot(): boolean;
|
|
517
523
|
// (undocumented)
|
|
518
524
|
get isLoaded(): boolean;
|
|
@@ -545,13 +551,13 @@ export abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidData
|
|
|
545
551
|
// (undocumented)
|
|
546
552
|
protected registry: IFluidDataStoreRegistry | undefined;
|
|
547
553
|
// @deprecated (undocumented)
|
|
548
|
-
request(request:
|
|
554
|
+
request(request: IRequest_2): Promise<IResponse_2>;
|
|
549
555
|
// (undocumented)
|
|
550
556
|
reSubmit(type: string, contents: any, localOpMetadata: unknown): void;
|
|
551
557
|
// (undocumented)
|
|
552
558
|
rollback(type: string, contents: any, localOpMetadata: unknown): void;
|
|
553
559
|
// (undocumented)
|
|
554
|
-
readonly scope:
|
|
560
|
+
readonly scope: FluidObject_2;
|
|
555
561
|
// (undocumented)
|
|
556
562
|
abstract setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void;
|
|
557
563
|
setChannelDirty(address: string): void;
|
|
@@ -572,7 +578,7 @@ export abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidData
|
|
|
572
578
|
get tombstoned(): boolean;
|
|
573
579
|
updateUsedRoutes(usedRoutes: string[]): void;
|
|
574
580
|
// (undocumented)
|
|
575
|
-
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<
|
|
581
|
+
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandleInternal<ArrayBufferLike>>;
|
|
576
582
|
}
|
|
577
583
|
|
|
578
584
|
// @internal (undocumented)
|
|
@@ -624,7 +630,7 @@ export interface IAckSummaryResult {
|
|
|
624
630
|
|
|
625
631
|
// @alpha
|
|
626
632
|
export interface IBaseSummarizeResult {
|
|
627
|
-
readonly error:
|
|
633
|
+
readonly error: Error | undefined;
|
|
628
634
|
// (undocumented)
|
|
629
635
|
readonly minimumSequenceNumber: number;
|
|
630
636
|
readonly referenceSequenceNumber: number;
|
|
@@ -724,7 +730,6 @@ export interface IContainerRuntimeOptions {
|
|
|
724
730
|
readonly chunkSizeInBytes?: number;
|
|
725
731
|
readonly compressionOptions?: ICompressionRuntimeOptions;
|
|
726
732
|
readonly enableGroupedBatching?: boolean;
|
|
727
|
-
readonly enableOpReentryCheck?: boolean;
|
|
728
733
|
readonly enableRuntimeIdCompressor?: IdCompressorMode;
|
|
729
734
|
readonly explicitSchemaControl?: boolean;
|
|
730
735
|
readonly flushMode?: FlushMode;
|
|
@@ -786,8 +791,35 @@ export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
|
|
|
786
791
|
readonly override?: boolean;
|
|
787
792
|
}
|
|
788
793
|
|
|
794
|
+
// @alpha @deprecated (undocumented)
|
|
795
|
+
export interface IFluidDataStoreAttributes0 {
|
|
796
|
+
readonly isRootDataStore?: boolean;
|
|
797
|
+
// (undocumented)
|
|
798
|
+
pkg: string;
|
|
799
|
+
// (undocumented)
|
|
800
|
+
readonly snapshotFormatVersion?: undefined;
|
|
801
|
+
// (undocumented)
|
|
802
|
+
readonly summaryFormatVersion?: undefined;
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
// @alpha @deprecated (undocumented)
|
|
806
|
+
export interface IFluidDataStoreAttributes1 extends OmitAttributesVersions<IFluidDataStoreAttributes0> {
|
|
807
|
+
// (undocumented)
|
|
808
|
+
readonly snapshotFormatVersion: "0.1";
|
|
809
|
+
// (undocumented)
|
|
810
|
+
readonly summaryFormatVersion?: undefined;
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
// @alpha @deprecated (undocumented)
|
|
814
|
+
export interface IFluidDataStoreAttributes2 extends OmitAttributesVersions<IFluidDataStoreAttributes1> {
|
|
815
|
+
readonly disableIsolatedChannels?: true;
|
|
816
|
+
readonly snapshotFormatVersion?: undefined;
|
|
817
|
+
// (undocumented)
|
|
818
|
+
readonly summaryFormatVersion: 2;
|
|
819
|
+
}
|
|
820
|
+
|
|
789
821
|
// @internal (undocumented)
|
|
790
|
-
export interface IFluidDataStoreContextEvents extends
|
|
822
|
+
export interface IFluidDataStoreContextEvents extends IEvent_2 {
|
|
791
823
|
// (undocumented)
|
|
792
824
|
(event: "attaching" | "attached", listener: () => void): any;
|
|
793
825
|
}
|
|
@@ -820,7 +852,7 @@ export interface IFluidDataStoreContextProps {
|
|
|
820
852
|
// (undocumented)
|
|
821
853
|
readonly pkg?: Readonly<string[]>;
|
|
822
854
|
// (undocumented)
|
|
823
|
-
readonly scope:
|
|
855
|
+
readonly scope: FluidObject_2;
|
|
824
856
|
// (undocumented)
|
|
825
857
|
readonly storage: IDocumentStorageService;
|
|
826
858
|
}
|
|
@@ -844,7 +876,7 @@ export interface IGCNodeUpdatedProps {
|
|
|
844
876
|
};
|
|
845
877
|
packagePath?: readonly string[];
|
|
846
878
|
reason: "Loaded" | "Changed";
|
|
847
|
-
request?:
|
|
879
|
+
request?: IRequest_2;
|
|
848
880
|
timestampMs?: number;
|
|
849
881
|
}
|
|
850
882
|
|
|
@@ -1193,12 +1225,18 @@ export class LocalFluidDataStoreContextBase extends FluidDataStoreContext {
|
|
|
1193
1225
|
// @internal
|
|
1194
1226
|
export const neverCancelledSummaryToken: ISummaryCancellationToken;
|
|
1195
1227
|
|
|
1228
|
+
// @alpha @deprecated (undocumented)
|
|
1229
|
+
export type OmitAttributesVersions<T> = Omit<T, "snapshotFormatVersion" | "summaryFormatVersion">;
|
|
1230
|
+
|
|
1196
1231
|
// @alpha (undocumented)
|
|
1197
1232
|
export type OpActionEventListener = (op: ISequencedDocumentMessage) => void;
|
|
1198
1233
|
|
|
1199
1234
|
// @alpha (undocumented)
|
|
1200
1235
|
export type OpActionEventName = MessageType.Summarize | MessageType.SummaryAck | MessageType.SummaryNack | "default";
|
|
1201
1236
|
|
|
1237
|
+
// @alpha @deprecated
|
|
1238
|
+
export type ReadFluidDataStoreAttributes = IFluidDataStoreAttributes0 | IFluidDataStoreAttributes1 | IFluidDataStoreAttributes2;
|
|
1239
|
+
|
|
1202
1240
|
// @internal
|
|
1203
1241
|
export interface RecentlyAddedContainerRuntimeMessageDetails {
|
|
1204
1242
|
compatDetails: IContainerRuntimeMessageCompatDetails;
|
|
@@ -1235,7 +1273,7 @@ export type SubmitSummaryResult = IBaseSummarizeResult | IGenerateSummaryTreeRes
|
|
|
1235
1273
|
export class Summarizer extends TypedEventEmitter<ISummarizerEvents> implements ISummarizer {
|
|
1236
1274
|
constructor(
|
|
1237
1275
|
runtime: ISummarizerRuntime, configurationGetter: () => ISummaryConfiguration,
|
|
1238
|
-
internalsProvider: ISummarizerInternalsProvider, handleContext:
|
|
1276
|
+
internalsProvider: ISummarizerInternalsProvider, handleContext: IFluidHandleContext_2, summaryCollection: SummaryCollection, runCoordinatorCreateFn: (runtime: IConnectableRuntime) => Promise<ICancellableSummarizerController>);
|
|
1239
1277
|
// (undocumented)
|
|
1240
1278
|
close(): void;
|
|
1241
1279
|
dispose(): void;
|
package/dist/batchTracker.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { EventEmitter } from "@fluid-internal/client-utils";
|
|
6
6
|
import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
7
|
-
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
7
|
+
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
|
|
8
8
|
export declare class BatchTracker {
|
|
9
9
|
private readonly batchEventEmitter;
|
|
10
10
|
private readonly logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchTracker.d.ts","sourceRoot":"","sources":["../src/batchTracker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"batchTracker.d.ts","sourceRoot":"","sources":["../src/batchTracker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,EAAE,mBAAmB,EAAqB,MAAM,0CAA0C,CAAC;AAElG,qBAAa,YAAY;IAOvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IANnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,wBAAwB,CAAqB;IACrD,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,6BAA6B,CAAqB;gBAGxC,iBAAiB,EAAE,YAAY,EAChD,MAAM,EAAE,oBAAoB,EAC5B,oBAAoB,EAAE,MAAM,EAC5B,sBAAsB,EAAE,MAAM,EAC9B,gBAAgB,GAAE,MAAM,MAAgC;CA8CzD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,sBACT,YAAY,UACvB,mBAAmB,yBACL,MAAM,2BACJ,MAAM,iBAC+D,CAAC"}
|
package/dist/batchTracker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchTracker.js","sourceRoot":"","sources":["../src/batchTracker.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,+DAA2D;AAE3D,kEAA6D;
|
|
1
|
+
{"version":3,"file":"batchTracker.js","sourceRoot":"","sources":["../src/batchTracker.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,+DAA2D;AAE3D,kEAA6D;AAE7D,uEAAkG;AAElG,MAAa,YAAY;IAMxB,YACkB,iBAA+B,EAChD,MAA4B,EAC5B,oBAA4B,EAC5B,sBAA8B,EAC9B,mBAAiC,GAAG,EAAE,CAAC,0BAAW,CAAC,GAAG,EAAE;QAJvC,sBAAiB,GAAjB,iBAAiB,CAAc;QAJzC,sBAAiB,GAAW,CAAC,CAAC;QAUrC,IAAI,CAAC,MAAM,GAAG,IAAA,4BAAiB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,OAAkC,EAAE,EAAE;YAC9E,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC;YACvD,IAAI,CAAC,6BAA6B,GAAG,gBAAgB,EAAE,CAAC;YACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,EAAE,CACxB,UAAU,EACV,CAAC,KAAsB,EAAE,OAAkC,EAAE,EAAE;YAC9D,IAAA,iBAAM,EACL,IAAI,CAAC,wBAAwB,KAAK,SAAS;gBAC1C,IAAI,CAAC,6BAA6B,KAAK,SAAS,EACjD,KAAK,CAAC,4CAA4C,CAClD,CAAC;YAEF,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;YAC1E,IAAI,MAAM,IAAI,oBAAoB,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;oBAChC,SAAS,EAAE,cAAc;oBACzB,MAAM;oBACN,SAAS,EAAE,oBAAoB;oBAC/B,sBAAsB,EAAE,OAAO,CAAC,cAAc;oBAC9C,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,6BAA6B;oBACjE,UAAU,EAAE,KAAK,KAAK,SAAS;iBAC/B,CAAC,CAAC;aACH;YAED,IAAI,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,KAAK,CAAC,EAAE;gBAC1D,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;oBAChC,SAAS,EAAE,QAAQ;oBACnB,MAAM;oBACN,YAAY,EAAE,sBAAsB;oBACpC,sBAAsB,EAAE,OAAO,CAAC,cAAc;oBAC9C,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,6BAA6B;iBACjE,CAAC,CAAC;aACH;YAED,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;YAC1C,IAAI,CAAC,6BAA6B,GAAG,SAAS,CAAC;QAChD,CAAC,CACD,CAAC;IACH,CAAC;CACD;AAzDD,oCAyDC;AAED;;;;;;;GAOG;AACI,MAAM,gBAAgB,GAAG,CAC/B,iBAA+B,EAC/B,MAA2B,EAC3B,uBAA+B,IAAI,EACnC,yBAAiC,IAAI,EACpC,EAAE,CAAC,IAAI,YAAY,CAAC,iBAAiB,EAAE,MAAM,EAAE,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;AALlF,QAAA,gBAAgB,oBAKkE","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { EventEmitter } from \"@fluid-internal/client-utils\";\nimport { performance } from \"@fluid-internal/client-utils\";\nimport { ITelemetryBaseLogger } from \"@fluidframework/core-interfaces\";\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport { ISequencedDocumentMessage } from \"@fluidframework/protocol-definitions\";\nimport { ITelemetryLoggerExt, createChildLogger } from \"@fluidframework/telemetry-utils/internal\";\n\nexport class BatchTracker {\n\tprivate readonly logger: ITelemetryLoggerExt;\n\tprivate startBatchSequenceNumber: number | undefined;\n\tprivate trackedBatchCount: number = 0;\n\tprivate batchProcessingStartTimeStamp: number | undefined;\n\n\tconstructor(\n\t\tprivate readonly batchEventEmitter: EventEmitter,\n\t\tlogger: ITelemetryBaseLogger,\n\t\tbatchLengthThreshold: number,\n\t\tbatchCountSamplingRate: number,\n\t\tdateTimeProvider: () => number = () => performance.now(),\n\t) {\n\t\tthis.logger = createChildLogger({ logger, namespace: \"Batching\" });\n\n\t\tthis.batchEventEmitter.on(\"batchBegin\", (message: ISequencedDocumentMessage) => {\n\t\t\tthis.startBatchSequenceNumber = message.sequenceNumber;\n\t\t\tthis.batchProcessingStartTimeStamp = dateTimeProvider();\n\t\t\tthis.trackedBatchCount++;\n\t\t});\n\n\t\tthis.batchEventEmitter.on(\n\t\t\t\"batchEnd\",\n\t\t\t(error: any | undefined, message: ISequencedDocumentMessage) => {\n\t\t\t\tassert(\n\t\t\t\t\tthis.startBatchSequenceNumber !== undefined &&\n\t\t\t\t\t\tthis.batchProcessingStartTimeStamp !== undefined,\n\t\t\t\t\t0x2ba /* \"batchBegin must fire before batchEnd\" */,\n\t\t\t\t);\n\n\t\t\t\tconst length = message.sequenceNumber - this.startBatchSequenceNumber + 1;\n\t\t\t\tif (length >= batchLengthThreshold) {\n\t\t\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\t\t\teventName: \"LengthTooBig\",\n\t\t\t\t\t\tlength,\n\t\t\t\t\t\tthreshold: batchLengthThreshold,\n\t\t\t\t\t\tbatchEndSequenceNumber: message.sequenceNumber,\n\t\t\t\t\t\tduration: dateTimeProvider() - this.batchProcessingStartTimeStamp,\n\t\t\t\t\t\tbatchError: error !== undefined,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (this.trackedBatchCount % batchCountSamplingRate === 0) {\n\t\t\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\t\t\teventName: \"Length\",\n\t\t\t\t\t\tlength,\n\t\t\t\t\t\tsamplingRate: batchCountSamplingRate,\n\t\t\t\t\t\tbatchEndSequenceNumber: message.sequenceNumber,\n\t\t\t\t\t\tduration: dateTimeProvider() - this.batchProcessingStartTimeStamp,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tthis.startBatchSequenceNumber = undefined;\n\t\t\t\tthis.batchProcessingStartTimeStamp = undefined;\n\t\t\t},\n\t\t);\n\t}\n}\n\n/**\n * Track batch sizes in terms of op counts and processing times\n *\n * @param batchEventEmitter - event emitter which tracks the lifecycle of batch operations\n * @param logger - See {@link @fluidframework/core-interfaces#ITelemetryLoggerExt}\n * @param batchLengthThreshold - threshold for the length of a batch when to send an error event\n * @param batchCountSamplingRate - rate for batches for which to send an event with its characteristics\n */\nexport const BindBatchTracker = (\n\tbatchEventEmitter: EventEmitter,\n\tlogger: ITelemetryLoggerExt,\n\tbatchLengthThreshold: number = 1000,\n\tbatchCountSamplingRate: number = 1000,\n) => new BatchTracker(batchEventEmitter, logger, batchLengthThreshold, batchCountSamplingRate);\n"]}
|
package/dist/blobManager.d.ts
CHANGED
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
import { TypedEventEmitter } from "@fluid-internal/client-utils";
|
|
6
6
|
import { ICriticalContainerError } from "@fluidframework/container-definitions";
|
|
7
7
|
import { IContainerRuntime, IContainerRuntimeEvents } from "@fluidframework/container-runtime-definitions/internal";
|
|
8
|
-
import {
|
|
8
|
+
import { IFluidHandleContext, type IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
|
|
9
9
|
import { IDocumentStorageService } from "@fluidframework/driver-definitions/internal";
|
|
10
10
|
import { ISequencedDocumentMessage, ISnapshotTree } from "@fluidframework/protocol-definitions";
|
|
11
11
|
import { IGarbageCollectionData, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions";
|
|
12
|
+
import { FluidHandleBase } from "@fluidframework/runtime-utils/internal";
|
|
12
13
|
/**
|
|
13
14
|
* This class represents blob (long string)
|
|
14
15
|
* This object is used only when creating (writing) new blob and serialization purposes.
|
|
@@ -16,18 +17,17 @@ import { IGarbageCollectionData, ISummaryTreeWithStats, ITelemetryContext } from
|
|
|
16
17
|
* DataObject.request() recognizes requests in the form of `/blobs/<id>`
|
|
17
18
|
* and loads blob.
|
|
18
19
|
*/
|
|
19
|
-
export declare class BlobHandle
|
|
20
|
+
export declare class BlobHandle extends FluidHandleBase<ArrayBufferLike> {
|
|
20
21
|
readonly path: string;
|
|
21
22
|
readonly routeContext: IFluidHandleContext;
|
|
22
|
-
get: () => Promise<
|
|
23
|
+
get: () => Promise<ArrayBufferLike>;
|
|
23
24
|
private readonly onAttachGraph?;
|
|
24
25
|
private attached;
|
|
25
|
-
get IFluidHandle(): IFluidHandle;
|
|
26
26
|
get isAttached(): boolean;
|
|
27
27
|
readonly absolutePath: string;
|
|
28
|
-
constructor(path: string, routeContext: IFluidHandleContext, get: () => Promise<
|
|
28
|
+
constructor(path: string, routeContext: IFluidHandleContext, get: () => Promise<ArrayBufferLike>, onAttachGraph?: (() => void) | undefined);
|
|
29
29
|
attachGraph(): void;
|
|
30
|
-
bind(handle:
|
|
30
|
+
bind(handle: IFluidHandleInternal): void;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Information from a snapshot needed to load BlobManager
|
|
@@ -124,7 +124,7 @@ export declare class BlobManager extends TypedEventEmitter<IBlobManagerEvents> {
|
|
|
124
124
|
getBlob(blobId: string): Promise<ArrayBufferLike>;
|
|
125
125
|
private getBlobHandle;
|
|
126
126
|
private createBlobDetached;
|
|
127
|
-
createBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<
|
|
127
|
+
createBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandleInternal<ArrayBufferLike>>;
|
|
128
128
|
private uploadBlob;
|
|
129
129
|
/**
|
|
130
130
|
* Set up a mapping in the redirect table from fromId to toId. Also, notify the runtime that a reference is added
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blobManager.d.ts","sourceRoot":"","sources":["../src/blobManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAkC,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAAe,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EACN,iBAAiB,EACjB,uBAAuB,EACvB,MAAM,wDAAwD,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"blobManager.d.ts","sourceRoot":"","sources":["../src/blobManager.ts"],"names":[],"mappings":"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"}
|
package/dist/blobManager.js
CHANGED
|
@@ -19,14 +19,12 @@ const uuid_1 = require("uuid");
|
|
|
19
19
|
* DataObject.request() recognizes requests in the form of `/blobs/<id>`
|
|
20
20
|
* and loads blob.
|
|
21
21
|
*/
|
|
22
|
-
class BlobHandle {
|
|
23
|
-
get IFluidHandle() {
|
|
24
|
-
return this;
|
|
25
|
-
}
|
|
22
|
+
class BlobHandle extends internal_3.FluidHandleBase {
|
|
26
23
|
get isAttached() {
|
|
27
24
|
return this.routeContext.isAttached && this.attached;
|
|
28
25
|
}
|
|
29
26
|
constructor(path, routeContext, get, onAttachGraph) {
|
|
27
|
+
super();
|
|
30
28
|
this.path = path;
|
|
31
29
|
this.routeContext = routeContext;
|
|
32
30
|
this.get = get;
|