nxkit
Version:
This is a collection of tools, independent of any other libraries
115 lines (114 loc) • 4.38 kB
TypeScript
import { URL } from '../path';
import * as wss from '../ws/service';
import * as cli from '../ws/cli';
import * as _center from './_center';
import { ConversationBasic } from '../ws/_conv';
declare type IMPL = _center.FastMessageTransferCenter_IMPL;
export interface QueryResult {
time: Date;
uuid: string;
}
export declare abstract class FNode {
protected m_initTime: number;
protected m_center: IMPL;
abstract get id(): string;
abstract get publishURL(): URL | null;
get initTime(): number;
get center(): _center.FastMessageTransferCenter_IMPL;
constructor(center: IMPL);
initialize(initTime?: number): Promise<void>;
destroy(): Promise<void>;
abstract publish(event: string, data: any): Promise<void>;
abstract broadcast(event: string, data: any, id: string): Promise<void>;
abstract triggerTo(id: string, event: string, data: any, sender: string): Promise<void>;
abstract callTo(id: string, method: string, data: any, timeout: number, sender: string): Promise<any>;
abstract sendTo(id: string, method: string, data: any, sender: string): Promise<void>;
abstract user(id: string): Promise<Dict<any>>;
abstract query(id: string, more?: boolean): Promise<QueryResult | boolean | null>;
}
/**
* @class FMTNodeLocal
*/
export declare class FNodeLocal extends FNode {
get id(): string;
get publishURL(): URL | null;
publish(event: string, data: any): Promise<void>;
broadcast(event: string, data: any, id: string): Promise<void>;
triggerTo(id: string, event: string, data: any, sender: string): Promise<void>;
callTo(id: string, method: string, data: any, timeout: number, sender: string): Promise<any>;
sendTo(id: string, method: string, data: any, sender: string): Promise<void>;
user(id: string): Promise<Dict<any>>;
query(id: string, more?: boolean): Promise<boolean | {
time: Date;
uuid: string;
} | null>;
}
/**
* @class FNodeRemote
*/
export declare class FNodeRemote extends FNode {
private m_impl;
private m_node_id;
private m_isInit;
constructor(center: IMPL, impl: FNodeRemoteIMPL, id: string);
initialize(initTime?: number): Promise<void>;
destroy(): Promise<void>;
get id(): string;
get publishURL(): URL | null;
publish(event: string, data: any): Promise<void>;
broadcast(event: string, data: any, id: string): Promise<void>;
triggerTo(id: string, event: string, data: any, sender: string): Promise<any>;
callTo(id: string, method: string, data: any, timeout: number, sender: string): Promise<any>;
sendTo(id: string, method: string, data: any, sender: string): Promise<any>;
user(id: string): Promise<any>;
query(id: string, more?: boolean): Promise<any>;
}
/**
* @class FNodeRemoteIMPL
*/
export declare abstract class FNodeRemoteIMPL {
abstract get conv(): ConversationBasic;
abstract get center(): IMPL;
abstract get thatFnode(): URL | null;
abstract get fnode(): FNode;
abstract call(method: string, data?: any, timeout?: number, sender?: string): Promise<any>;
abstract send(method: string, data?: any, sender?: string): Promise<void>;
publish([event, data]: [string, any]): void;
broadcast([event, data, id]: [string, any, string]): void;
triggerTo([id, event, data, sender]: [string, string, any, string]): Promise<void>;
callTo([id, method, data, timeout, sender]: [string, string, any, number, string]): Promise<any>;
sendTo([id, method, data, sender]: [string, string, any, string]): Promise<void>;
user([id]: [string]): Dict<any>;
query([id, more]: [string, boolean]): boolean | {
time: Date;
uuid: string;
} | null;
}
/**
* @class FNodeRemoteService
*/
export declare class FNodeRemoteService extends wss.WSService {
private m_center;
private m_that_fnode;
private m_fnode;
get thatFnode(): URL | null;
get center(): IMPL;
get fnode(): FNode;
requestAuth(): Promise<boolean>;
load(): Promise<void>;
destroy(): Promise<void>;
}
/**
* @class FNodeRemoteClient
*/
export declare class FNodeRemoteClient extends cli.WSClient {
private m_center;
private m_that_fnode;
private m_fnode;
get center(): IMPL;
get thatFnode(): URL;
get fnode(): FNode;
constructor(center: IMPL, fnode?: string);
_init(): Promise<void>;
}
export {};