load the sink just in time
This commit is contained in:
parent
51093efbc5
commit
ca32540960
15
memory.js
15
memory.js
@ -1,21 +1,28 @@
|
||||
/* eslint-disable camelcase */
|
||||
var MessageChannel = global.MessageChannel
|
||||
if (MessageChannel == null) ({ MessageChannel } = require('worker' + '_threads'))
|
||||
|
||||
function sodium_malloc (n) {
|
||||
return new Uint8Array(n)
|
||||
}
|
||||
|
||||
const sink = new MessageChannel()
|
||||
function sodium_free (n) {
|
||||
sodium_memzero(n)
|
||||
sink.port1.postMessage(n.buffer, [n.buffer])
|
||||
loadSink().port1.postMessage(n.buffer, [n.buffer])
|
||||
}
|
||||
|
||||
function sodium_memzero (arr) {
|
||||
arr.fill(0)
|
||||
}
|
||||
|
||||
var sink
|
||||
|
||||
function loadSink () {
|
||||
if (sink) return sink
|
||||
var MessageChannel = global.MessageChannel
|
||||
if (MessageChannel == null) ({ MessageChannel } = require('worker' + '_threads'))
|
||||
sink = new MessageChannel()
|
||||
return sink
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
sodium_malloc,
|
||||
sodium_free,
|
||||
|
Loading…
Reference in New Issue
Block a user