NET-Web-API-w-Angular/my-app/node_modules/piscina/test/fixtures/send-transferrable-then-get-length.js

38 lines
646 B
JavaScript
Executable file

'use strict';
const Piscina = require('../../dist/src');
class Shared {
constructor (data) {
this.name = 'shared';
this.data = data;
}
get [Piscina.transferableSymbol] () {
return [this.data];
}
get [Piscina.valueSymbol] () {
return { name: this.name, data: this.data };
}
make () {
return Piscina.move(this);
}
}
let time;
module.exports = {
send: async () => {
const data = new ArrayBuffer(128);
const shared = new Shared(data);
try {
return shared.make();
} finally {
setTimeout(() => { time = data.byteLength; }, 1000);
}
},
get: () => {
return time;
}
};