UNPKG

nxkit

Version:

This is a collection of tools, independent of any other libraries

57 lines (56 loc) 1.59 kB
import { Service } from '../service'; import { Session } from '../session'; import { DataBuilder, Data } from './data'; import * as conv from './conv'; export declare const METHOD_CALL_TIMEOUT = 120000; interface CallData extends Data { ok(e: any): void; err(e: Error): void; timeout?: number; cancel?: boolean; } /** * @class WSService */ export declare class WSService extends Service implements conv.MessageHandle { private m_conv; private m_session; private m_calls; private m_loaded; private m_Intervalid; get conv(): conv.WSConversation; get session(): Session; get loaded(): boolean; constructor(conv: conv.WSConversation); load(): Promise<void>; destroy(): Promise<void>; private _checkMethodName; /** * @fun receiveMessage() # 消息处理器 */ receiveMessage(msg: DataBuilder): Promise<void>; /** * @func handleCall */ private handleCall; _send(data: CallData): Promise<CallData>; private _checkInterval; private _call; _trigger(event: string, data?: any, sender?: string): Promise<void>; /** * @func call(method, data) * @async */ call<T = any>(method: string, data?: any, timeout?: number, sender?: string): Promise<T>; /** * @func trigger(event, data) * @async */ trigger(event: string, data?: any, sender?: string): Promise<void>; /** * @func send(method, data, sender) method call, No response * @async */ send(method: string, data?: any, sender?: string): Promise<void>; } export {};