silphius/app/net/client/local.js

24 lines
525 B
JavaScript
Raw Normal View History

2024-06-10 22:42:30 -05:00
import Client from './client.js';
export default class LocalClient extends Client {
async connect() {
this.worker = new Worker(
new URL('../server/worker.js', import.meta.url),
{type: 'module'},
);
2024-06-15 20:59:11 -05:00
this.worker.addEventListener('message', (event) => {
if (0 === event.data) {
this.worker.terminate();
return;
}
2024-06-10 22:42:30 -05:00
this.accept(event.data);
2024-06-15 20:59:11 -05:00
});
2024-06-10 22:42:30 -05:00
}
disconnect() {
2024-06-15 20:59:11 -05:00
this.worker.postMessage(0);
2024-06-10 22:42:30 -05:00
}
transmit(packed) {
this.worker.postMessage(packed);
}
}