diff options
author | Florian Dold <florian.dold@gmail.com> | 2020-05-11 18:19:43 +0530 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2020-05-11 18:19:43 +0530 |
commit | d9433a2116541160ed82f6780116c1c70afe4e2f (patch) | |
tree | ded9ab549e3a93dfaf6902f61c1521e5e44114a7 /src/wallet.ts | |
parent | 5d6192b0cd356f7e56fa8d6193a2e74233a52f4b (diff) |
logging
Diffstat (limited to 'src/wallet.ts')
-rw-r--r-- | src/wallet.ts | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/src/wallet.ts b/src/wallet.ts index 41569a44f..3558e102b 100644 --- a/src/wallet.ts +++ b/src/wallet.ts @@ -252,14 +252,19 @@ export class Wallet { * returns without resolving to an exception. */ public async runUntilDone(): Promise<void> { + let done = false; const p = new Promise((resolve, reject) => { // Run this asynchronously this.addNotificationListener((n) => { + if (done) { + return; + } if ( n.type === NotificationType.WaitingForRetry && n.numGivingLiveness == 0 ) { - logger.trace("no liveness-giving operations left, returning"); + done = true; + logger.trace("no liveness-giving operations left"); resolve(); } }); @@ -277,23 +282,9 @@ export class Wallet { * returns without resolving to an exception. */ public async runUntilDoneAndStop(): Promise<void> { - const p = new Promise((resolve, reject) => { - // Run this asynchronously - this.addNotificationListener((n) => { - if ( - n.type === NotificationType.WaitingForRetry && - n.numGivingLiveness == 0 - ) { - logger.trace("no liveness-giving operations left, stopping"); - this.stop(); - } - }); - this.runRetryLoop().catch((e) => { - console.log("exception in wallet retry loop"); - reject(e); - }); - }); - await p; + await this.runUntilDone(); + logger.trace("stopping after liveness-giving operations done"); + this.stop(); } /** @@ -314,9 +305,7 @@ export class Wallet { private async runRetryLoopImpl(): Promise<void> { while (!this.stopped) { - console.log("running wallet retry loop iteration"); const pending = await this.getPendingOperations({ onlyDue: true }); - console.log("pending ops", JSON.stringify(pending, undefined, 2)); if (pending.pendingOperations.length === 0) { const allPending = await this.getPendingOperations({ onlyDue: false }); let numPending = 0; @@ -346,12 +335,10 @@ export class Wallet { await Promise.race([timeout, this.latch.wait()]); console.log("timeout done"); } else { - logger.trace("running pending operations that are due"); // FIXME: maybe be a bit smarter about executing these // operations in parallel? for (const p of pending.pendingOperations) { try { - console.log("running", p); await this.processOnePendingOperation(p); } catch (e) { console.error(e); |