node-universe
Version:
基于 Nodejs 环境的一款微服务框架,原理来自于宇宙中的恒星,行星,卫星等系统。
40 lines (39 loc) • 1.76 kB
TypeScript
import Packet from '../packets';
import { GenericObject } from '../../typings';
import Transit from '../transit';
import Star from '../star';
import { LoggerInstance } from '../../typings/logger';
import { PacketTypes } from '../../typings/packets';
export default class BaseTransporter {
options: GenericObject;
connected: boolean;
hasBuiltInBalancer: boolean;
transit: Transit | null;
star: Star | null;
nodeID: string;
logger: LoggerInstance | null;
prefix: string;
messageHandler: ((cmd: string, msg: Packet) => any) | null;
afterConnect: ((wasReconnect: boolean) => any) | null;
constructor(options: GenericObject);
init(transit: Transit, messageHandler: (cmd: string, msg: Packet) => any, afterConnect: (wasReconnect: boolean) => any): void;
connect(): void;
onConnected(wasReconnect?: boolean): Promise<any>;
disconnect(): void;
subscribe(cmd: PacketTypes, nodeID: string): void;
subscribeBalancedRequest(action: string): void;
subscribeBalancedEvent(event: string, group: string): void;
unsubscribeFromBalancedCommands(): Promise<void>;
publish(packet: Packet): void;
publishBalancedRequest(packet: Packet): void;
publishBalancedEvent(packet: Packet, group: string): void;
makeBalancedSubscriptions(): void;
prepublish(packet: Packet): void | Promise<void>;
makeSubscriptions(topics: GenericObject[]): Promise<any>;
incomingMessage(cmd: PacketTypes, msg: Buffer): any;
receive(cmd: PacketTypes, data: Buffer): any;
send(topic: string, data: Buffer, meta: object): void;
serialize(packet: Packet): Buffer | null;
deserialize(type: PacketTypes, buf: Buffer): Packet | null;
getTopicName(cmd: string, nodeID: string): string;
}