sliftutils 1.7.11 → 1.7.12
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/index.d.ts
CHANGED
|
@@ -3036,11 +3036,22 @@ declare module "sliftutils/storage/remoteStorage/blobStore" {
|
|
|
3036
3036
|
fileCount: number;
|
|
3037
3037
|
byteCount: number;
|
|
3038
3038
|
};
|
|
3039
|
+
sources: {
|
|
3040
|
+
debugName: string;
|
|
3041
|
+
fileCount: number;
|
|
3042
|
+
byteCount: number;
|
|
3043
|
+
}[];
|
|
3044
|
+
readerDiskLimit?: number;
|
|
3039
3045
|
syncing: SyncActivity[];
|
|
3040
3046
|
};
|
|
3041
3047
|
computeIndexTotals?(): Promise<{
|
|
3042
3048
|
fileCount: number;
|
|
3043
3049
|
byteCount: number;
|
|
3050
|
+
sources: {
|
|
3051
|
+
debugName: string;
|
|
3052
|
+
fileCount: number;
|
|
3053
|
+
byteCount: number;
|
|
3054
|
+
}[];
|
|
3044
3055
|
}>;
|
|
3045
3056
|
startLargeUpload(): Promise<string>;
|
|
3046
3057
|
appendLargeUpload(id: string, data: Buffer): Promise<void>;
|
package/package.json
CHANGED
|
@@ -41,11 +41,22 @@ export type IBucketStore = {
|
|
|
41
41
|
fileCount: number;
|
|
42
42
|
byteCount: number;
|
|
43
43
|
};
|
|
44
|
+
sources: {
|
|
45
|
+
debugName: string;
|
|
46
|
+
fileCount: number;
|
|
47
|
+
byteCount: number;
|
|
48
|
+
}[];
|
|
49
|
+
readerDiskLimit?: number;
|
|
44
50
|
syncing: SyncActivity[];
|
|
45
51
|
};
|
|
46
52
|
computeIndexTotals?(): Promise<{
|
|
47
53
|
fileCount: number;
|
|
48
54
|
byteCount: number;
|
|
55
|
+
sources: {
|
|
56
|
+
debugName: string;
|
|
57
|
+
fileCount: number;
|
|
58
|
+
byteCount: number;
|
|
59
|
+
}[];
|
|
49
60
|
}>;
|
|
50
61
|
startLargeUpload(): Promise<string>;
|
|
51
62
|
appendLargeUpload(id: string, data: Buffer): Promise<void>;
|
|
@@ -66,8 +66,13 @@ export type IBucketStore = {
|
|
|
66
66
|
findInfo(prefix: string, config?: { shallow?: boolean; type?: "files" | "folders" }): Promise<ArchiveFileInfo[]>;
|
|
67
67
|
getChangesAfter?(time: number): Promise<ArchiveFileInfo[]>;
|
|
68
68
|
getSyncStatus?(): Promise<ArchivesSyncStatus>;
|
|
69
|
-
getSyncProgress?(): {
|
|
70
|
-
|
|
69
|
+
getSyncProgress?(): {
|
|
70
|
+
index: { fileCount: number; byteCount: number };
|
|
71
|
+
sources: { debugName: string; fileCount: number; byteCount: number }[];
|
|
72
|
+
readerDiskLimit?: number;
|
|
73
|
+
syncing: SyncActivity[];
|
|
74
|
+
};
|
|
75
|
+
computeIndexTotals?(): Promise<{ fileCount: number; byteCount: number; sources: { debugName: string; fileCount: number; byteCount: number }[] }>;
|
|
71
76
|
startLargeUpload(): Promise<string>;
|
|
72
77
|
appendLargeUpload(id: string, data: Buffer): Promise<void>;
|
|
73
78
|
finishLargeUpload(id: string, key: string): Promise<void>;
|
|
@@ -595,7 +600,7 @@ export class BlobStore implements IBucketStore {
|
|
|
595
600
|
// OLDER one - and it's copied onto our disk so the next read doesn't depend on luck.
|
|
596
601
|
for (let i = 0; i < this.sources.length; i++) {
|
|
597
602
|
if (i === holder) continue;
|
|
598
|
-
let fallback:
|
|
603
|
+
let fallback: { data: Buffer; writeTime: number; size: number } | undefined;
|
|
599
604
|
try {
|
|
600
605
|
fallback = await this.sources[i].source.get2(key);
|
|
601
606
|
} catch {
|
|
@@ -165,7 +165,7 @@ export class SourceWrapper {
|
|
|
165
165
|
/** Starts measuring this source's latency (for variable-shard target preference). Only hosted
|
|
166
166
|
* remotes are pinged; our own local server counts as 0, everything else as Infinity. */
|
|
167
167
|
public startPinging(): void {
|
|
168
|
-
|
|
168
|
+
const remote = this.remote;
|
|
169
169
|
if (!remote || this.pingTimer || this.disposed) return;
|
|
170
170
|
let measure = async () => {
|
|
171
171
|
let start = Date.now();
|