fix: race condition
This commit is contained in:
parent
51edbec463
commit
bfe9e427b9
|
@ -4,6 +4,9 @@ export default class LocalClient extends Client {
|
|||
server = null;
|
||||
async connect() {
|
||||
await super.connect();
|
||||
if (!this.connected) {
|
||||
return;
|
||||
}
|
||||
this.server = new Worker(
|
||||
new URL('../server/worker.js', import.meta.url),
|
||||
{type: 'module'},
|
||||
|
|
|
@ -4,6 +4,9 @@ export default class RemoteClient extends Client {
|
|||
socket = null;
|
||||
async connect(host) {
|
||||
await super.connect();
|
||||
if (!this.connected) {
|
||||
return;
|
||||
}
|
||||
this.socket = new WebSocket(`//${host}/silphius`);
|
||||
this.socket.binaryType = 'arraybuffer';
|
||||
this.socket.addEventListener('message', (event) => {
|
||||
|
|
|
@ -6,6 +6,7 @@ import {decode, encode} from '@/silphius/net/packets/index.js';
|
|||
import {Flow} from './constants.js';
|
||||
|
||||
export default class Client {
|
||||
connected = true;
|
||||
emitter = new EventEmitter();
|
||||
interpolator = null;
|
||||
predictor = null;
|
||||
|
@ -71,6 +72,7 @@ export default class Client {
|
|||
}
|
||||
});
|
||||
}
|
||||
this.connected = true;
|
||||
}
|
||||
disconnect() {
|
||||
if (CLIENT_INTERPOLATION) {
|
||||
|
@ -81,6 +83,7 @@ export default class Client {
|
|||
this.predictor?.terminate();
|
||||
this.predictor = null;
|
||||
}
|
||||
this.connected = false;
|
||||
}
|
||||
receive(packed) {
|
||||
this.throughput.$$down += packed.byteLength;
|
||||
|
|
Loading…
Reference in New Issue
Block a user