nxkit
Version:
This is a collection of tools, independent of any other libraries
57 lines (56 loc) • 1.59 kB
TypeScript
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 {};