mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-05 14:36:09 +00:00
fix(socket): use socket.writable to check if its safe to send a message
This commit is contained in:
parent
9b2393f001
commit
3fb57ccc79
@ -177,6 +177,8 @@ export class SeyfertWebSocket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _write(buffer: Buffer, opcode: number) {
|
private _write(buffer: Buffer, opcode: number) {
|
||||||
|
if (!this.socket?.writable)
|
||||||
|
return;
|
||||||
const length = buffer.length;
|
const length = buffer.length;
|
||||||
let frame;
|
let frame;
|
||||||
// Kinda same logic as above, but client-side
|
// Kinda same logic as above, but client-side
|
||||||
@ -199,17 +201,17 @@ export class SeyfertWebSocket {
|
|||||||
this.socket?.write(frame);
|
this.socket?.write(frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
onping(_data: string) {}
|
onping(_data: string) { }
|
||||||
|
|
||||||
onpong(_data: string) {}
|
onpong(_data: string) { }
|
||||||
|
|
||||||
onopen() {}
|
onopen() { }
|
||||||
|
|
||||||
onmessage(_payload: { data: string | Buffer }) {}
|
onmessage(_payload: { data: string | Buffer }) { }
|
||||||
|
|
||||||
onclose(_close: { code: number; reason: string }) {}
|
onclose(_close: { code: number; reason: string }) { }
|
||||||
|
|
||||||
onerror(_err: unknown) {}
|
onerror(_err: unknown) { }
|
||||||
|
|
||||||
close(code: number, reason: string) {
|
close(code: number, reason: string) {
|
||||||
this.__closeCalled = true;
|
this.__closeCalled = true;
|
||||||
@ -279,14 +281,14 @@ export class SeyfertWebSocket {
|
|||||||
// @ts-expect-error this is private, thanks nodejs
|
// @ts-expect-error this is private, thanks nodejs
|
||||||
const readable = this.socket._readableState as
|
const readable = this.socket._readableState as
|
||||||
| {
|
| {
|
||||||
bufferIndex: number;
|
bufferIndex: number;
|
||||||
buffer: Buffer[];
|
buffer: Buffer[];
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
buffer: {
|
buffer: {
|
||||||
head: ReadableHeadData;
|
head: ReadableHeadData;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
// Num of bit read
|
// Num of bit read
|
||||||
let bitIndex = 0;
|
let bitIndex = 0;
|
||||||
// Num of bit read counting since start
|
// Num of bit read counting since start
|
||||||
|
Loading…
x
Reference in New Issue
Block a user