UNPKG

node-universe

Version:

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

75 lines (74 loc) 2.95 kB
import Packet from '../packets'; import Star from '../star'; import { LoggerInstance } from '../../typings/logger'; import { GenericObject } from '../../typings'; import { Regenerator } from '../error'; import { StarTransitOptions, TransitRequest } from '../../typings/transit'; import { Transporter } from '../../typings/transit/transporters'; import { Discoverer } from '../../typings/registry/discoverers'; import Node from '../registry/node'; import Context from '../context'; import { MetricRegistry } from '../metrics'; export default class Transit { star: Star; logger: LoggerInstance; nodeID: string; instanceID: string; transporter: Transporter; options: StarTransitOptions | undefined; discoverer: Discoverer | null; metrics: MetricRegistry | null; errorRegenerator: Regenerator | null; pendingRequests: Map<any, TransitRequest>; pendingReqStreams: Map<any, any>; pendingResStreams: Map<any, any>; connected: boolean; disconnecting: boolean; isReady: boolean; stat: GenericObject; subscribing: Promise<any> | null; __connectResolve: any; constructor(star: Star, transporter: Transporter, options?: StarTransitOptions); private registerUniverseMetrics; afterConnect(wasReconnect: boolean): Promise<null | undefined>; connect(): Promise<unknown>; disconnect(): Promise<void>; ready(): void; sendDisconnectPacket(): Promise<void>; makeSubscriptions(): Promise<any>; messageHandler(cmd: string, msg: GenericObject): Promise<boolean> | undefined; private requestHandler; responseHandler(packet: GenericObject): void; sendPing(nodeID?: string, id?: string): Promise<void>; sendPong(payload: GenericObject): Promise<void>; processPong(payload: GenericObject): void; sendResponse(nodeID: string, id: string, meta: any, data: any, error: Error | null): Promise<void>; eventHandler(payload: GenericObject): Promise<boolean>; subscribe(topic: string, nodeID: string): Promise<void>; publish(packet: Packet): Promise<void>; sendHeartbeat(localNode: Node): Promise<void>; sendEvent(ctx: Context): Promise<void>; removePendingRequestByNodeID(nodeID: string): void; request(ctx: Context): Promise<unknown>; _sendRequest(ctx: Context, resolve: any, reject: any): Promise<void>; _createPayloadErrorField(error: any, payload: any): { name: any; message: any; nodeID: any; code: any; type: any; retryable: any; stack: any; data: any; } | undefined; sendNodeInfo(info: any, nodeID: string): Promise<void>; private _handleIncomingRequestStream; private _handleIncomingResponseStream; private _createErrorFromPayload; removePendingRequest(id: any): void; sendeEvent(ctx: Context): Promise<void>; discoverNodes(): Promise<void>; discoverNode(nodeID: string): Promise<void>; } ): Promise<void>; }