@fluidframework/container-loader 2.0.0-internal.1.2.0.93071 → 2.0.0-internal.1.2.2
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/dist/catchUpMonitor.d.ts +6 -17
- package/dist/catchUpMonitor.d.ts.map +1 -1
- package/dist/catchUpMonitor.js +5 -36
- package/dist/catchUpMonitor.js.map +1 -1
- package/dist/connectionManager.d.ts.map +1 -1
- package/dist/connectionManager.js +3 -6
- package/dist/connectionManager.js.map +1 -1
- package/dist/connectionStateHandler.d.ts +80 -26
- package/dist/connectionStateHandler.d.ts.map +1 -1
- package/dist/connectionStateHandler.js +170 -89
- package/dist/connectionStateHandler.js.map +1 -1
- package/dist/container.d.ts +12 -11
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +76 -100
- package/dist/container.js.map +1 -1
- package/dist/containerStorageAdapter.d.ts +10 -24
- package/dist/containerStorageAdapter.d.ts.map +1 -1
- package/dist/containerStorageAdapter.js +50 -16
- package/dist/containerStorageAdapter.js.map +1 -1
- package/dist/deltaManager.js +4 -4
- package/dist/deltaManager.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/lib/catchUpMonitor.d.ts +6 -17
- package/lib/catchUpMonitor.d.ts.map +1 -1
- package/lib/catchUpMonitor.js +5 -35
- package/lib/catchUpMonitor.js.map +1 -1
- package/lib/connectionManager.d.ts.map +1 -1
- package/lib/connectionManager.js +3 -6
- package/lib/connectionManager.js.map +1 -1
- package/lib/connectionStateHandler.d.ts +80 -26
- package/lib/connectionStateHandler.d.ts.map +1 -1
- package/lib/connectionStateHandler.js +170 -90
- package/lib/connectionStateHandler.js.map +1 -1
- package/lib/container.d.ts +12 -11
- package/lib/container.d.ts.map +1 -1
- package/lib/container.js +77 -101
- package/lib/container.js.map +1 -1
- package/lib/containerStorageAdapter.d.ts +10 -24
- package/lib/containerStorageAdapter.d.ts.map +1 -1
- package/lib/containerStorageAdapter.js +50 -15
- package/lib/containerStorageAdapter.js.map +1 -1
- package/lib/deltaManager.js +4 -4
- package/lib/deltaManager.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.d.ts.map +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/package.json +11 -11
- package/src/catchUpMonitor.ts +7 -47
- package/src/connectionManager.ts +3 -5
- package/src/connectionStateHandler.ts +231 -106
- package/src/container.ts +89 -118
- package/src/containerStorageAdapter.ts +64 -15
- package/src/deltaManager.ts +4 -4
- package/src/packageVersion.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/container-loader",
|
|
3
|
-
"version": "2.0.0-internal.1.2.
|
|
3
|
+
"version": "2.0.0-internal.1.2.2",
|
|
4
4
|
"description": "Fluid container loader",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -63,14 +63,14 @@
|
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"@fluidframework/common-definitions": "^0.20.1",
|
|
65
65
|
"@fluidframework/common-utils": "^1.0.0",
|
|
66
|
-
"@fluidframework/container-definitions": "2.0.0-internal.1.2.
|
|
67
|
-
"@fluidframework/container-utils": "2.0.0-internal.1.2.
|
|
68
|
-
"@fluidframework/core-interfaces": "2.0.0-internal.1.2.
|
|
69
|
-
"@fluidframework/driver-definitions": "2.0.0-internal.1.2.
|
|
70
|
-
"@fluidframework/driver-utils": "2.0.0-internal.1.2.
|
|
71
|
-
"@fluidframework/protocol-base": "^0.1037.
|
|
66
|
+
"@fluidframework/container-definitions": "^2.0.0-internal.1.2.2",
|
|
67
|
+
"@fluidframework/container-utils": "^2.0.0-internal.1.2.2",
|
|
68
|
+
"@fluidframework/core-interfaces": "^2.0.0-internal.1.2.2",
|
|
69
|
+
"@fluidframework/driver-definitions": "^2.0.0-internal.1.2.2",
|
|
70
|
+
"@fluidframework/driver-utils": "^2.0.0-internal.1.2.2",
|
|
71
|
+
"@fluidframework/protocol-base": "^0.1037.2001",
|
|
72
72
|
"@fluidframework/protocol-definitions": "^1.0.0",
|
|
73
|
-
"@fluidframework/telemetry-utils": "2.0.0-internal.1.2.
|
|
73
|
+
"@fluidframework/telemetry-utils": "^2.0.0-internal.1.2.2",
|
|
74
74
|
"abort-controller": "^3.0.0",
|
|
75
75
|
"double-ended-queue": "^2.1.0-0",
|
|
76
76
|
"lodash": "^4.17.21",
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
"@fluidframework/build-common": "^1.0.0",
|
|
82
82
|
"@fluidframework/build-tools": "^0.4.4000",
|
|
83
83
|
"@fluidframework/container-loader-previous": "npm:@fluidframework/container-loader@^1.0.0",
|
|
84
|
-
"@fluidframework/eslint-config-fluid": "^0.
|
|
85
|
-
"@fluidframework/mocha-test-setup": "2.0.0-internal.1.2.
|
|
86
|
-
"@fluidframework/test-loader-utils": "2.0.0-internal.1.2.
|
|
84
|
+
"@fluidframework/eslint-config-fluid": "^1.0.0",
|
|
85
|
+
"@fluidframework/mocha-test-setup": "^2.0.0-internal.1.2.2",
|
|
86
|
+
"@fluidframework/test-loader-utils": "^2.0.0-internal.1.2.2",
|
|
87
87
|
"@microsoft/api-extractor": "^7.22.2",
|
|
88
88
|
"@rushstack/eslint-config": "^2.5.1",
|
|
89
89
|
"@types/double-ended-queue": "^2.1.0",
|
package/src/catchUpMonitor.ts
CHANGED
|
@@ -3,34 +3,29 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { IDisposable
|
|
7
|
-
import { assert
|
|
6
|
+
import { IDisposable } from "@fluidframework/common-definitions";
|
|
7
|
+
import { assert } from "@fluidframework/common-utils";
|
|
8
8
|
import { IDeltaManager } from "@fluidframework/container-definitions";
|
|
9
9
|
import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
10
10
|
|
|
11
|
-
/** @see
|
|
11
|
+
/** @see CatchUpMonitor for usage */
|
|
12
12
|
type CaughtUpListener = () => void;
|
|
13
13
|
|
|
14
|
-
/** @see ICatchUpMonitor for usage */
|
|
15
|
-
export interface ICatchUpMonitorEvents extends IEvent {
|
|
16
|
-
(event: "caughtUp", listener: CaughtUpListener): void;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
14
|
/** Monitor that emits an event when a Container has caught up to a given point in the op stream */
|
|
20
|
-
export
|
|
15
|
+
export type ICatchUpMonitor = IDisposable;
|
|
21
16
|
|
|
22
17
|
/**
|
|
23
18
|
* Monitors a Container's DeltaManager, notifying listeners when all ops have been processed
|
|
24
19
|
* that were known at the time the monitor was created.
|
|
25
20
|
*/
|
|
26
|
-
export class CatchUpMonitor
|
|
21
|
+
export class CatchUpMonitor implements ICatchUpMonitor {
|
|
27
22
|
private readonly targetSeqNumber: number;
|
|
28
23
|
private caughtUp: boolean = false;
|
|
29
24
|
|
|
30
25
|
private readonly opHandler = (message: Pick<ISequencedDocumentMessage, "sequenceNumber">) => {
|
|
31
26
|
if (!this.caughtUp && message.sequenceNumber >= this.targetSeqNumber) {
|
|
32
27
|
this.caughtUp = true;
|
|
33
|
-
this.
|
|
28
|
+
this.listener();
|
|
34
29
|
}
|
|
35
30
|
};
|
|
36
31
|
|
|
@@ -39,9 +34,8 @@ export class CatchUpMonitor extends TypedEventEmitter<ICatchUpMonitorEvents> imp
|
|
|
39
34
|
*/
|
|
40
35
|
constructor(
|
|
41
36
|
private readonly deltaManager: IDeltaManager<any, any>,
|
|
37
|
+
private readonly listener: CaughtUpListener,
|
|
42
38
|
) {
|
|
43
|
-
super();
|
|
44
|
-
|
|
45
39
|
this.targetSeqNumber = this.deltaManager.lastKnownSeqNumber;
|
|
46
40
|
|
|
47
41
|
assert(this.targetSeqNumber >= this.deltaManager.lastSequenceNumber,
|
|
@@ -51,16 +45,6 @@ export class CatchUpMonitor extends TypedEventEmitter<ICatchUpMonitorEvents> imp
|
|
|
51
45
|
|
|
52
46
|
// Simulate the last processed op to set caughtUp in case we already are
|
|
53
47
|
this.opHandler({ sequenceNumber: this.deltaManager.lastSequenceNumber });
|
|
54
|
-
|
|
55
|
-
// If a listener is added after we are already caught up, notify that new listener immediately
|
|
56
|
-
this.on("newListener", (event: string, listener) => {
|
|
57
|
-
if (event === "caughtUp") {
|
|
58
|
-
const caughtUpListener = listener as CaughtUpListener;
|
|
59
|
-
if (this.caughtUp) {
|
|
60
|
-
caughtUpListener();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
48
|
}
|
|
65
49
|
|
|
66
50
|
public disposed: boolean = false;
|
|
@@ -70,30 +54,6 @@ export class CatchUpMonitor extends TypedEventEmitter<ICatchUpMonitorEvents> imp
|
|
|
70
54
|
}
|
|
71
55
|
this.disposed = true;
|
|
72
56
|
|
|
73
|
-
this.removeAllListeners();
|
|
74
57
|
this.deltaManager.off("op", this.opHandler);
|
|
75
58
|
}
|
|
76
59
|
}
|
|
77
|
-
|
|
78
|
-
/** Monitor that always notifies listeners immediately */
|
|
79
|
-
export class ImmediateCatchUpMonitor extends TypedEventEmitter<ICatchUpMonitorEvents> implements ICatchUpMonitor {
|
|
80
|
-
constructor() {
|
|
81
|
-
super();
|
|
82
|
-
this.on("newListener", (event: string, listener) => {
|
|
83
|
-
if (event === "caughtUp") {
|
|
84
|
-
const caughtUpListener = listener as CaughtUpListener;
|
|
85
|
-
caughtUpListener();
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
public disposed: boolean = false;
|
|
91
|
-
public dispose() {
|
|
92
|
-
if (this.disposed) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
this.disposed = true;
|
|
96
|
-
|
|
97
|
-
this.removeAllListeners();
|
|
98
|
-
}
|
|
99
|
-
}
|
package/src/connectionManager.ts
CHANGED
|
@@ -234,15 +234,13 @@ export class ConnectionManager implements IConnectionManager {
|
|
|
234
234
|
* about current or last connection (if there is no connection at the moment)
|
|
235
235
|
*/
|
|
236
236
|
public get connectionProps(): ITelemetryProperties {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
return {
|
|
237
|
+
return this.connection !== undefined
|
|
238
|
+
? this._connectionProps
|
|
239
|
+
: {
|
|
241
240
|
...this._connectionProps,
|
|
242
241
|
// Report how many ops this client sent in last disconnected session
|
|
243
242
|
sentOps: this.clientSequenceNumber,
|
|
244
243
|
};
|
|
245
|
-
}
|
|
246
244
|
}
|
|
247
245
|
|
|
248
246
|
public shouldJoinWrite(): boolean {
|