@fluidframework/container-runtime 2.0.0-dev.4.4.0.162253 → 2.0.0-dev.5.2.0.169897
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 +45 -0
- package/dist/batchTracker.d.ts +4 -4
- package/dist/batchTracker.d.ts.map +1 -1
- package/dist/batchTracker.js +2 -2
- package/dist/batchTracker.js.map +1 -1
- package/dist/blobManager.js +2 -2
- package/dist/blobManager.js.map +1 -1
- package/dist/connectionTelemetry.d.ts +2 -2
- package/dist/connectionTelemetry.d.ts.map +1 -1
- package/dist/connectionTelemetry.js.map +1 -1
- package/dist/containerRuntime.d.ts +12 -11
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +42 -15
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStore.d.ts +2 -2
- package/dist/dataStore.d.ts.map +1 -1
- package/dist/dataStore.js +1 -1
- package/dist/dataStore.js.map +1 -1
- package/dist/dataStoreContext.d.ts +3 -3
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +1 -2
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreContexts.d.ts.map +1 -1
- package/dist/dataStoreContexts.js.map +1 -1
- package/dist/deltaScheduler.d.ts +2 -2
- package/dist/deltaScheduler.d.ts.map +1 -1
- package/dist/deltaScheduler.js +1 -1
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/gc/garbageCollection.d.ts +2 -2
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js +3 -4
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcConfigs.d.ts.map +1 -1
- package/dist/gc/gcConfigs.js +8 -10
- package/dist/gc/gcConfigs.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +3 -3
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/gc/gcSummaryStateTracker.d.ts +1 -2
- package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/dist/gc/gcSummaryStateTracker.js +6 -6
- package/dist/gc/gcSummaryStateTracker.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts +5 -5
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/id-compressor/idCompressor.d.ts +2 -2
- package/dist/id-compressor/idCompressor.d.ts.map +1 -1
- package/dist/id-compressor/idCompressor.js.map +1 -1
- package/dist/opLifecycle/definitions.d.ts +2 -2
- package/dist/opLifecycle/definitions.d.ts.map +1 -1
- package/dist/opLifecycle/definitions.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 +3 -6
- 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.map +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js +5 -6
- 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 +3 -3
- package/dist/opLifecycle/opSplitter.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +2 -2
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +7 -3
- 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 +18 -14
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +35 -55
- 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/orderedClientElection.d.ts +4 -3
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js +3 -18
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runningSummarizer.d.ts +4 -3
- package/dist/summary/runningSummarizer.d.ts.map +1 -1
- package/dist/summary/runningSummarizer.js +5 -6
- package/dist/summary/runningSummarizer.js.map +1 -1
- package/dist/summary/summarizer.d.ts +2 -3
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js +2 -3
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerClientElection.d.ts +3 -2
- package/dist/summary/summarizerClientElection.d.ts.map +1 -1
- package/dist/summary/summarizerClientElection.js.map +1 -1
- package/dist/summary/summarizerHeuristics.d.ts +2 -2
- package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
- package/dist/summary/summarizerHeuristics.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.d.ts +10 -9
- package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +3 -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 +6 -6
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +8 -8
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.d.ts +3 -2
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryGenerator.d.ts +2 -2
- package/dist/summary/summaryGenerator.d.ts.map +1 -1
- package/dist/summary/summaryGenerator.js +1 -1
- package/dist/summary/summaryGenerator.js.map +1 -1
- package/dist/summary/summaryManager.d.ts +3 -2
- package/dist/summary/summaryManager.d.ts.map +1 -1
- package/dist/summary/summaryManager.js.map +1 -1
- package/dist/tsdoc-metadata.json +11 -0
- package/lib/batchTracker.d.ts +4 -4
- package/lib/batchTracker.d.ts.map +1 -1
- package/lib/batchTracker.js +2 -2
- package/lib/batchTracker.js.map +1 -1
- package/lib/blobManager.js +2 -2
- package/lib/blobManager.js.map +1 -1
- package/lib/connectionTelemetry.d.ts +2 -2
- package/lib/connectionTelemetry.d.ts.map +1 -1
- package/lib/connectionTelemetry.js.map +1 -1
- package/lib/containerRuntime.d.ts +12 -11
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +42 -15
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStore.d.ts +2 -2
- 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 +3 -3
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +1 -2
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStoreContexts.d.ts.map +1 -1
- package/lib/dataStoreContexts.js.map +1 -1
- package/lib/deltaScheduler.d.ts +2 -2
- package/lib/deltaScheduler.d.ts.map +1 -1
- package/lib/deltaScheduler.js +1 -1
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/gc/garbageCollection.d.ts +2 -2
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js +3 -4
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcConfigs.d.ts.map +1 -1
- package/lib/gc/gcConfigs.js +8 -10
- package/lib/gc/gcConfigs.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +3 -3
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/gc/gcSummaryStateTracker.d.ts +1 -2
- package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/lib/gc/gcSummaryStateTracker.js +6 -6
- package/lib/gc/gcSummaryStateTracker.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts +5 -5
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js +1 -1
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/id-compressor/idCompressor.d.ts +2 -2
- package/lib/id-compressor/idCompressor.d.ts.map +1 -1
- package/lib/id-compressor/idCompressor.js.map +1 -1
- package/lib/opLifecycle/definitions.d.ts +2 -2
- package/lib/opLifecycle/definitions.d.ts.map +1 -1
- package/lib/opLifecycle/definitions.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 +3 -6
- 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.map +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js +5 -6
- 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 +3 -3
- package/lib/opLifecycle/opSplitter.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +2 -2
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +7 -3
- 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 +18 -14
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +35 -55
- 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/orderedClientElection.d.ts +4 -3
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js +3 -18
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runningSummarizer.d.ts +4 -3
- package/lib/summary/runningSummarizer.d.ts.map +1 -1
- package/lib/summary/runningSummarizer.js +5 -6
- package/lib/summary/runningSummarizer.js.map +1 -1
- package/lib/summary/summarizer.d.ts +2 -3
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js +2 -3
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerClientElection.d.ts +3 -2
- package/lib/summary/summarizerClientElection.d.ts.map +1 -1
- package/lib/summary/summarizerClientElection.js.map +1 -1
- package/lib/summary/summarizerHeuristics.d.ts +2 -2
- package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
- package/lib/summary/summarizerHeuristics.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.d.ts +10 -9
- package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +3 -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 +6 -6
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +8 -8
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.d.ts +3 -2
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryGenerator.d.ts +2 -2
- package/lib/summary/summaryGenerator.d.ts.map +1 -1
- package/lib/summary/summaryGenerator.js +1 -1
- package/lib/summary/summaryGenerator.js.map +1 -1
- package/lib/summary/summaryManager.d.ts +3 -2
- package/lib/summary/summaryManager.d.ts.map +1 -1
- package/lib/summary/summaryManager.js +1 -1
- package/lib/summary/summaryManager.js.map +1 -1
- package/package.json +22 -39
- package/src/batchTracker.ts +5 -6
- package/src/blobManager.ts +2 -2
- package/src/connectionTelemetry.ts +4 -5
- package/src/containerRuntime.ts +60 -31
- package/src/dataStore.ts +3 -4
- package/src/dataStoreContext.ts +4 -8
- package/src/dataStoreContexts.ts +3 -7
- package/src/deltaScheduler.ts +2 -3
- package/src/gc/garbageCollection.ts +8 -11
- package/src/gc/gcConfigs.ts +12 -11
- package/src/gc/gcDefinitions.ts +3 -3
- package/src/gc/gcSummaryStateTracker.ts +6 -6
- package/src/gc/gcTelemetry.ts +9 -5
- package/src/id-compressor/idCompressor.ts +2 -2
- package/src/opLifecycle/definitions.ts +2 -2
- package/src/opLifecycle/opCompressor.ts +4 -8
- package/src/opLifecycle/opDecompressor.ts +2 -3
- package/src/opLifecycle/opGroupingManager.ts +6 -7
- package/src/opLifecycle/opSplitter.ts +4 -5
- package/src/opLifecycle/outbox.ts +10 -9
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +60 -91
- package/src/scheduleManager.ts +3 -4
- package/src/summary/orderedClientElection.ts +7 -20
- package/src/summary/runningSummarizer.ts +11 -10
- package/src/summary/summarizer.ts +8 -8
- package/src/summary/summarizerClientElection.ts +3 -2
- package/src/summary/summarizerHeuristics.ts +2 -2
- package/src/summary/summarizerNode/summarizerNode.ts +15 -14
- package/src/summary/summarizerNode/summarizerNodeUtils.ts +3 -3
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +10 -7
- package/src/summary/summarizerTypes.ts +8 -13
- package/src/summary/summaryCollection.ts +3 -2
- package/src/summary/summaryGenerator.ts +7 -3
- package/src/summary/summaryManager.ts +8 -9
package/lib/containerRuntime.js
CHANGED
|
@@ -348,7 +348,6 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
348
348
|
close: this.closeFn,
|
|
349
349
|
connected: () => this.connected,
|
|
350
350
|
reSubmit: this.reSubmit.bind(this),
|
|
351
|
-
rollback: this.rollback.bind(this),
|
|
352
351
|
orderSequentially: this.orderSequentially.bind(this),
|
|
353
352
|
}, pendingRuntimeState === null || pendingRuntimeState === void 0 ? void 0 : pendingRuntimeState.pending);
|
|
354
353
|
const disableCompression = this.mc.config.getBoolean("Fluid.ContainerRuntime.CompressionDisabled");
|
|
@@ -474,9 +473,6 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
474
473
|
return initializeEntryPoint === null || initializeEntryPoint === void 0 ? void 0 : initializeEntryPoint(this);
|
|
475
474
|
});
|
|
476
475
|
}
|
|
477
|
-
get IContainerRuntime() {
|
|
478
|
-
return this;
|
|
479
|
-
}
|
|
480
476
|
get IFluidRouter() {
|
|
481
477
|
return this;
|
|
482
478
|
}
|
|
@@ -625,7 +621,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
625
621
|
}
|
|
626
622
|
get reSubmitFn() {
|
|
627
623
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
628
|
-
return this.
|
|
624
|
+
return this.reSubmitCore;
|
|
629
625
|
}
|
|
630
626
|
get disposeFn() {
|
|
631
627
|
var _a;
|
|
@@ -900,8 +896,14 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
900
896
|
}
|
|
901
897
|
return this.consecutiveReconnects < this.maxConsecutiveReconnects;
|
|
902
898
|
}
|
|
903
|
-
resetReconnectCount() {
|
|
904
|
-
|
|
899
|
+
resetReconnectCount(message) {
|
|
900
|
+
// Chunked ops don't count towards making progress as they are sent
|
|
901
|
+
// in their own batches before the originating batch is sent.
|
|
902
|
+
// Therefore, receiving them while attempting to send the originating batch
|
|
903
|
+
// does not mean that the container is making any progress.
|
|
904
|
+
if ((message === null || message === void 0 ? void 0 : message.type) !== ContainerMessageType.ChunkedOp) {
|
|
905
|
+
this.consecutiveReconnects = 0;
|
|
906
|
+
}
|
|
905
907
|
}
|
|
906
908
|
replayPendingStates() {
|
|
907
909
|
// We need to be able to send ops to replay states
|
|
@@ -943,7 +945,19 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
943
945
|
const { IdCompressor } = await import("./id-compressor");
|
|
944
946
|
this.idCompressor = IdCompressor.deserialize(op.stashedState);
|
|
945
947
|
}
|
|
946
|
-
|
|
948
|
+
/**
|
|
949
|
+
* Parse an op's type and actual content from given serialized content
|
|
950
|
+
* ! Note: this format needs to be in-line with what is set in the "ContainerRuntime.submit(...)" method
|
|
951
|
+
*/
|
|
952
|
+
parseOpContent(serializedContent) {
|
|
953
|
+
assert(serializedContent !== undefined, 0x6d5 /* content must be defined */);
|
|
954
|
+
const parsed = JSON.parse(serializedContent);
|
|
955
|
+
assert(parsed.type !== undefined, 0x6d6 /* incorrect op content format */);
|
|
956
|
+
return { type: parsed.type, contents: parsed.contents };
|
|
957
|
+
}
|
|
958
|
+
async applyStashedOp(op) {
|
|
959
|
+
// Need to parse from string for back-compat
|
|
960
|
+
const { type, contents } = this.parseOpContent(op);
|
|
947
961
|
switch (type) {
|
|
948
962
|
case ContainerMessageType.FluidDataStoreOp:
|
|
949
963
|
return this.dataStores.applyStashedOp(contents);
|
|
@@ -1102,7 +1116,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1102
1116
|
// If we have processed a local op, this means that the container is
|
|
1103
1117
|
// making progress and we can reset the counter for how many times
|
|
1104
1118
|
// we have consecutively replayed the pending states
|
|
1105
|
-
this.resetReconnectCount();
|
|
1119
|
+
this.resetReconnectCount(message);
|
|
1106
1120
|
}
|
|
1107
1121
|
}
|
|
1108
1122
|
catch (e) {
|
|
@@ -1202,7 +1216,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1202
1216
|
if (checkpoint) {
|
|
1203
1217
|
// This will throw and close the container if rollback fails
|
|
1204
1218
|
try {
|
|
1205
|
-
checkpoint.rollback((message) => this.rollback(message.
|
|
1219
|
+
checkpoint.rollback((message) => this.rollback(message.contents, message.localOpMetadata));
|
|
1206
1220
|
}
|
|
1207
1221
|
catch (err) {
|
|
1208
1222
|
const error2 = wrapError(err, (message) => {
|
|
@@ -1807,10 +1821,10 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1807
1821
|
};
|
|
1808
1822
|
idAllocationBatchMessage = {
|
|
1809
1823
|
contents: JSON.stringify(idAllocationMessage),
|
|
1810
|
-
deserializedContent: idAllocationMessage,
|
|
1811
1824
|
referenceSequenceNumber: this.deltaManager.lastSequenceNumber,
|
|
1812
1825
|
metadata: undefined,
|
|
1813
1826
|
localOpMetadata: (_b = this.idCompressor) === null || _b === void 0 ? void 0 : _b.serialize(true),
|
|
1827
|
+
type: ContainerMessageType.IdAllocation,
|
|
1814
1828
|
};
|
|
1815
1829
|
}
|
|
1816
1830
|
if (idAllocationBatchMessage !== undefined) {
|
|
@@ -1834,7 +1848,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1834
1848
|
}
|
|
1835
1849
|
const message = {
|
|
1836
1850
|
contents: serializedContent,
|
|
1837
|
-
|
|
1851
|
+
type,
|
|
1838
1852
|
metadata,
|
|
1839
1853
|
localOpMetadata,
|
|
1840
1854
|
referenceSequenceNumber: this.deltaManager.lastSequenceNumber,
|
|
@@ -1966,13 +1980,18 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1966
1980
|
}
|
|
1967
1981
|
}
|
|
1968
1982
|
}
|
|
1983
|
+
reSubmit(content, localOpMetadata, opMetadata) {
|
|
1984
|
+
// Need to parse from string for back-compat
|
|
1985
|
+
const { contents, type } = this.parseOpContent(content);
|
|
1986
|
+
this.reSubmitCore(type, contents, localOpMetadata, opMetadata);
|
|
1987
|
+
}
|
|
1969
1988
|
/**
|
|
1970
1989
|
* Finds the right store and asks it to resubmit the message. This typically happens when we
|
|
1971
1990
|
* reconnect and there are pending messages.
|
|
1972
1991
|
* @param content - The content of the original message.
|
|
1973
1992
|
* @param localOpMetadata - The local metadata associated with the original message.
|
|
1974
1993
|
*/
|
|
1975
|
-
|
|
1994
|
+
reSubmitCore(type, content, localOpMetadata, opMetadata) {
|
|
1976
1995
|
switch (type) {
|
|
1977
1996
|
case ContainerMessageType.FluidDataStoreOp:
|
|
1978
1997
|
// For Operations, call resubmitDataStoreOp which will find the right store
|
|
@@ -1981,7 +2000,13 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1981
2000
|
break;
|
|
1982
2001
|
case ContainerMessageType.Attach:
|
|
1983
2002
|
case ContainerMessageType.Alias:
|
|
2003
|
+
this.submit(type, content, localOpMetadata);
|
|
2004
|
+
break;
|
|
1984
2005
|
case ContainerMessageType.IdAllocation:
|
|
2006
|
+
// Remove the stashedState from the op if it's a stashed op
|
|
2007
|
+
if (content.stashedState !== undefined) {
|
|
2008
|
+
delete content.stashedState;
|
|
2009
|
+
}
|
|
1985
2010
|
this.submit(type, content, localOpMetadata);
|
|
1986
2011
|
break;
|
|
1987
2012
|
case ContainerMessageType.ChunkedOp:
|
|
@@ -1996,12 +2021,14 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1996
2021
|
unreachableCase(type, `Unknown ContainerMessageType: ${type}`);
|
|
1997
2022
|
}
|
|
1998
2023
|
}
|
|
1999
|
-
rollback(
|
|
2024
|
+
rollback(content, localOpMetadata) {
|
|
2025
|
+
// Need to parse from string for back-compat
|
|
2026
|
+
const { type, contents } = this.parseOpContent(content);
|
|
2000
2027
|
switch (type) {
|
|
2001
2028
|
case ContainerMessageType.FluidDataStoreOp:
|
|
2002
2029
|
// For operations, call rollbackDataStoreOp which will find the right store
|
|
2003
2030
|
// and trigger rollback on it.
|
|
2004
|
-
this.dataStores.rollbackDataStoreOp(
|
|
2031
|
+
this.dataStores.rollbackDataStoreOp(contents, localOpMetadata);
|
|
2005
2032
|
break;
|
|
2006
2033
|
default:
|
|
2007
2034
|
throw new Error(`Can't rollback ${type}`);
|