提交 cd18eb9b 编写于 作者: B Benjamin Pasero

storage - beforeClose() is actually not needed

上级 d63ebe36
......@@ -67,7 +67,6 @@ export interface IStorage extends IDisposable {
set(key: string, value: any): Thenable<void>;
delete(key: string): Thenable<void>;
beforeClose(): void;
close(): Thenable<void>;
checkIntegrity(full: boolean): Thenable<string>;
......@@ -92,7 +91,6 @@ export class Storage extends Disposable implements IStorage {
private cache: Map<string, string> = new Map<string, string>();
private flushDelayer: ThrottledDelayer<void>;
private flushDelay = Storage.DEFAULT_FLUSH_DELAY;
private pendingDeletes: Set<string> = new Set<string>();
private pendingInserts: Map<string, string> = new Map();
......@@ -103,7 +101,7 @@ export class Storage extends Disposable implements IStorage {
) {
super();
this.flushDelayer = this._register(new ThrottledDelayer(this.flushDelay));
this.flushDelayer = this._register(new ThrottledDelayer(Storage.DEFAULT_FLUSH_DELAY));
this.registerListeners();
}
......@@ -237,7 +235,7 @@ export class Storage extends Disposable implements IStorage {
this._onDidChangeStorage.fire(key);
// Accumulate work by scheduling after timeout
return this.flushDelayer.trigger(() => this.flushPending(), this.flushDelay);
return this.flushDelayer.trigger(() => this.flushPending());
}
delete(key: string): Thenable<void> {
......@@ -261,11 +259,7 @@ export class Storage extends Disposable implements IStorage {
this._onDidChangeStorage.fire(key);
// Accumulate work by scheduling after timeout
return this.flushDelayer.trigger(() => this.flushPending(), this.flushDelay);
}
beforeClose(): void {
this.flushDelay = 0; // when we are about to close, reduce our flush delay to 0 to consume too much time
return this.flushDelayer.trigger(() => this.flushPending());
}
close(): Thenable<void> {
......
......@@ -90,7 +90,6 @@ suite('Storage Library', () => {
await Promise.all([delete1Promise, delete2Promise, delete3Promise]).then(() => deletePromiseResolved = true);
equal(deletePromiseResolved, true);
storage.beforeClose();
await storage.close();
await del(storageDir, tmpdir());
});
......@@ -147,7 +146,6 @@ suite('Storage Library', () => {
database.fireDidChangeItemsExternal({ items: change });
equal(changes.size, 0);
storage.beforeClose();
await storage.close();
await del(storageDir, tmpdir());
});
......@@ -168,7 +166,6 @@ suite('Storage Library', () => {
let setPromiseResolved = false;
Promise.all([set1Promise, set2Promise]).then(() => setPromiseResolved = true);
storage.beforeClose();
await storage.close();
equal(setPromiseResolved, true);
......@@ -179,7 +176,6 @@ suite('Storage Library', () => {
equal(storage.get('foo'), 'bar');
equal(storage.get('bar'), 'foo');
storage.beforeClose();
await storage.close();
storage = new Storage(new SQLiteStorageDatabase(join(storageDir, 'storage.db')));
......@@ -194,7 +190,6 @@ suite('Storage Library', () => {
let deletePromiseResolved = false;
Promise.all([delete1Promise, delete2Promise]).then(() => deletePromiseResolved = true);
storage.beforeClose();
await storage.close();
equal(deletePromiseResolved, true);
......@@ -205,7 +200,6 @@ suite('Storage Library', () => {
ok(!storage.get('foo'));
ok(!storage.get('bar'));
storage.beforeClose();
await storage.close();
await del(storageDir, tmpdir());
});
......@@ -248,7 +242,6 @@ suite('Storage Library', () => {
await Promise.all([set4Promise, delete1Promise]).then(() => setAndDeletePromiseResolved = true);
ok(setAndDeletePromiseResolved);
storage.beforeClose();
await storage.close();
await del(storageDir, tmpdir());
});
......@@ -627,7 +620,6 @@ suite('SQLite Storage Library', () => {
equal(items.get('foo3'), 'bar');
equal(items.get('some/foo3/path'), 'some/bar/path');
storage.beforeClose();
await storage.close();
await del(storageDir, tmpdir());
......
......@@ -368,9 +368,6 @@ export class StorageMainService extends Disposable implements IStorageMainServic
close(): Thenable<void> {
this.logService.trace('StorageMainService#close() - begin');
// Signal to storage that we are about to close
this.storage.beforeClose();
// Signal as event so that clients can still store data
this._onWillSaveState.fire();
......
......@@ -368,10 +368,6 @@ export class StorageService extends Disposable implements IStorageService {
close(): Promise<void> {
// Signal to storage that we are about to close
this.globalStorage.beforeClose();
this.workspaceStorage.beforeClose();
// Signal as event so that clients can still store data
this._onWillSaveState.fire({ reason: WillSaveStateReason.SHUTDOWN });
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册