Bug 1435000 - Refactor client engine queue to use AsyncQueueCaller r=eoger

MozReview-Commit-ID: JRWHktfqGMQ

--HG--
extra : rebase_source : ac39e2ff9fb1aa2bc10504aad5f018114902145e
This commit is contained in:
Carol Ng 2018-05-29 14:30:22 -04:00
parent ad9f7a1fa4
commit eaa5aa23b5
2 changed files with 7 additions and 5 deletions

View file

@ -163,9 +163,10 @@ class AsyncQueueCaller {
this._queue = (async () => { this._queue = (async () => {
await this._queue; await this._queue;
try { try {
await func(); return await func();
} catch (e) { } catch (e) {
this._log.error(e); this._log.error(e);
return false;
} }
})(); })();
} }

View file

@ -86,7 +86,7 @@ function ClientEngine(service) {
SyncEngine.call(this, "Clients", service); SyncEngine.call(this, "Clients", service);
this.fxAccounts = fxAccounts; this.fxAccounts = fxAccounts;
this.addClientCommandQueue = Promise.resolve(); this.addClientCommandQueue = Async.asyncQueueCaller(this._log);
Utils.defineLazyIDProperty(this, "localID", "services.sync.client.GUID"); Utils.defineLazyIDProperty(this, "localID", "services.sync.client.GUID");
} }
ClientEngine.prototype = { ClientEngine.prototype = {
@ -293,8 +293,7 @@ ClientEngine.prototype = {
}, },
async _addClientCommand(clientId, command) { async _addClientCommand(clientId, command) {
return this.addClientCommandQueue = (async () => { this.addClientCommandQueue.enqueueCall(async () => {
await this.addClientCommandQueue;
try { try {
const localCommands = await this._readCommands(); const localCommands = await this._readCommands();
const localClientCommands = localCommands[clientId] || []; const localClientCommands = localCommands[clientId] || [];
@ -315,7 +314,9 @@ ClientEngine.prototype = {
this._log.error(e); this._log.error(e);
return false; return false;
} }
})(); });
return this.addClientCommandQueue.promiseCallsComplete();
}, },
async _removeClientCommands(clientId) { async _removeClientCommands(clientId) {