diff options
author | Florian Dold <florian@dold.me> | 2021-11-16 17:20:36 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2021-11-16 17:20:44 +0100 |
commit | c33ed919719845f518d6491ef37df6ae16820dd0 (patch) | |
tree | c264e72b84088f45bf62a212159fc953d2757024 /packages/taler-wallet-core/src/headless/helpers.ts | |
parent | 1d4815c66c395f4fcc86c30e20f3d005e3cb9ff5 (diff) | |
download | wallet-core-c33ed919719845f518d6491ef37df6ae16820dd0.tar.xz |
wallet: experiment with C-based crypto worker for some primitives
Diffstat (limited to 'packages/taler-wallet-core/src/headless/helpers.ts')
-rw-r--r-- | packages/taler-wallet-core/src/headless/helpers.ts | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/packages/taler-wallet-core/src/headless/helpers.ts b/packages/taler-wallet-core/src/headless/helpers.ts index f2285e149..191c48441 100644 --- a/packages/taler-wallet-core/src/headless/helpers.ts +++ b/packages/taler-wallet-core/src/headless/helpers.ts @@ -142,19 +142,23 @@ export async function getDefaultNodeWallet( const myDb = await openTalerDatabase(myIdbFactory, myVersionChange); let workerFactory; - try { - // Try if we have worker threads available, fails in older node versions. - const _r = "require"; - const worker_threads = module[_r]("worker_threads"); - // require("worker_threads"); - workerFactory = new NodeThreadCryptoWorkerFactory(); - } catch (e) { - logger.warn( - "worker threads not available, falling back to synchronous workers", - ); + if (process.env["TALER_WALLET_SYNC_CRYPTO"]) { + logger.info("using synchronous crypto worker"); workerFactory = new SynchronousCryptoWorkerFactory(); + } else { + try { + // Try if we have worker threads available, fails in older node versions. + const _r = "require"; + const worker_threads = module[_r]("worker_threads"); + // require("worker_threads"); + workerFactory = new NodeThreadCryptoWorkerFactory(); + } catch (e) { + logger.warn( + "worker threads not available, falling back to synchronous workers", + ); + workerFactory = new SynchronousCryptoWorkerFactory(); + } } - const w = await Wallet.create(myDb, myHttpLib, workerFactory); if (args.notifyHandler) { |