diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-12-05 19:38:19 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-12-05 19:38:19 +0100 |
commit | f67d7f54f9d0fed97446898942e3dfee67ee2985 (patch) | |
tree | 2b81738025e8f61250ede10908cbf81071e16975 /src/crypto/browserWorkerEntry.ts | |
parent | 829acdd3d98f1014747f15ecb619b6fbaa06b640 (diff) | |
download | wallet-core-f67d7f54f9d0fed97446898942e3dfee67ee2985.tar.xz |
threads, retries and notifications WIP
Diffstat (limited to 'src/crypto/browserWorkerEntry.ts')
-rw-r--r-- | src/crypto/browserWorkerEntry.ts | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/src/crypto/browserWorkerEntry.ts b/src/crypto/browserWorkerEntry.ts deleted file mode 100644 index 5ac762c13..000000000 --- a/src/crypto/browserWorkerEntry.ts +++ /dev/null @@ -1,70 +0,0 @@ -/* - This file is part of TALER - (C) 2016 GNUnet e.V. - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> -*/ - -/** - * Web worker for crypto operations. - */ - -/** - * Imports. - */ - -import { CryptoImplementation } from "./cryptoImplementation"; - -const worker: Worker = (self as any) as Worker; - -async function handleRequest(operation: string, id: number, args: string[]) { - const impl = new CryptoImplementation(); - - if (!(operation in impl)) { - console.error(`crypto operation '${operation}' not found`); - return; - } - - try { - const result = (impl as any)[operation](...args); - worker.postMessage({ result, id }); - } catch (e) { - console.log("error during operation", e); - return; - } -} - -worker.onmessage = (msg: MessageEvent) => { - const args = msg.data.args; - if (!Array.isArray(args)) { - console.error("args must be array"); - return; - } - const id = msg.data.id; - if (typeof id !== "number") { - console.error("RPC id must be number"); - return; - } - const operation = msg.data.operation; - if (typeof operation !== "string") { - console.error("RPC operation must be string"); - return; - } - - if (CryptoImplementation.enableTracing) { - console.log("onmessage with", operation); - } - - handleRequest(operation, id, args).catch((e) => { - console.error("error in browsere worker", e); - }); -}; |