refactor: add available accessor property in PacketClient

This commit is contained in:
pk5ls20
2024-10-14 15:13:44 +08:00
parent b4cb3ddf1c
commit a79c933693
8 changed files with 13 additions and 9 deletions

View File

@@ -5,19 +5,23 @@ import { createHash } from "crypto";
export class PacketClient {
private websocket: WebSocket | undefined;
public isConnected: boolean = false;
private isConnected: boolean = false;
private reconnectAttempts: number = 0;
private maxReconnectAttempts: number = 5;
//trace_id-type callback
private cb = new LRUCache<string, any>(500);
constructor(private url: string, public logger: LogWrapper) { }
get available(): boolean {
return this.isConnected && this.websocket !== undefined;
}
connect(): Promise<void> {
return new Promise((resolve, reject) => {
this.logger.log.bind(this.logger)(`Attempting to connect to ${this.url}`);
this.websocket = new WebSocket(this.url);
this.websocket.on('error', (err) => this.logger.logError.bind(this.logger)('[Core] [Packet Server] Error:', err.message));
this.websocket.onopen = () => {
this.isConnected = true;
this.reconnectAttempts = 0;