UNPKG

node-universe

Version:

基于 Nodejs 环境的一款微服务框架,原理来自于宇宙中的恒星,行星,卫星等系统。

49 lines (48 loc) 2.07 kB
import { GenericObject } from '../../typings'; import BaseTransporter from './base'; import UdpServer from './tcp/udp-broadcaster'; import TcpReader from './tcp/tcp-reader'; import TcpWriter from './tcp/tcp-writer'; import Packet from '../packets'; import Transit from '../transit'; import { Registry } from '../registry'; import { Discoverer } from '../../typings/registry/discoverers'; import NodeCatalog from '../registry/catalogs/node'; import Node from '../registry/node'; import { Socket } from 'net'; import { PacketTypes } from '../../typings/packets'; export default class TcpTransporter extends BaseTransporter { reader: TcpReader | null; writer: TcpWriter | null; udpServer: UdpServer | null; gossipTimer: any; GOSSIP_DEBUG: boolean; registry: Registry | null; discoverer: Discoverer | null; nodes: NodeCatalog | null; constructor(options: GenericObject); init(transit: Transit, messageHandler: (cmd: string, msg: Packet) => any, afterConnect: (wasReconnect: boolean) => any): void; connect(): Promise<any>; private startTcpServer; private startUdpServer; loadUrls(): Promise<void>; receive(type: PacketTypes, message: Buffer, socket?: Socket): any; onIncomingMessage(type: PacketTypes, message: Buffer, socket: Socket): any; startTimers(): void; stopTimers(): void; processGossipRequest(message: Buffer): void; processGossipResponse(message: Buffer): void; sendGossipRequest(): void; private sendGossipToRandomEndpoint; private addOfflineNode; getNode(nodeID: string): Node | undefined; private getNodeAddress; publish(packet: Packet): Promise<void> | undefined; send(type: PacketTypes, data: Buffer, meta: GenericObject): Promise<void> | undefined; sendHello(nodeID: string): Promise<void> | undefined; processGossipHello(msg: Buffer, socket?: Socket): void; disconnect(): void; getLocalNodeInfo(): Node | null | undefined; getNodeInfo(nodeID: string): Node | undefined; subscribe(cmd: PacketTypes, nodeID: string): any; }