UNPKG

@runejs/core

Version:

Core logging, networking, and buffer functionality for RuneJS applications.

19 lines (18 loc) 854 B
/// <reference types="node" /> import { Socket } from 'net'; import { ByteBuffer } from '../buffer'; import { ConnectionStatus } from './connection-status'; export declare abstract class SocketServer<T = undefined> { readonly socket: Socket; protected _connectionStatus: ConnectionStatus | T; constructor(socket: Socket); static launch<T extends SocketServer<any>>(serverName: string, hostName: string, port: number, socketServerFactory: (socket: Socket) => T): void; dataReceived(data: Buffer): void; closeConnection(): void; error(error: any): void; abstract initialHandshake(data: ByteBuffer): boolean; abstract decodeMessage(data: ByteBuffer): void | Promise<void>; abstract connectionDestroyed(): void; get connectionStatus(): ConnectionStatus | T; get connectionAlive(): boolean; }