UNPKG

moleculer

Version:

Fast & powerful microservices framework for Node.JS

105 lines (84 loc) 3.21 kB
import BaseTransporter = require("./transporters/base"); import Context = require("./context"); import Node = require("./registry/node"); import type { Packet } from "./packets"; import type { Logger } from "./logger-factory"; import ServiceBroker = require("./service-broker"); import Transporter = require("./transporters/base"); import BaseDiscoverer = require("./registry/discoverers/base"); import MetricRegistry = require("./metrics/registry"); import type { Regenerator as ErrorRegenerator } from "./errors"; import { Stream } from "stream"; import { NodeRawInfo } from "./registry"; declare namespace Transit { export interface TransitOptions { maxQueueSize?: number; disableReconnect?: boolean; disableVersionCheck?: boolean; maxChunkSize?: number; } export interface TransitRequest { action: string; nodeID: string; ctx: Context; resolve: (value: any) => void; reject: (reason: any) => void; stream: boolean; } } declare class Transit { broker: ServiceBroker; Promise: PromiseConstructor; logger: Logger; nodeID: string; metrics: MetricRegistry; instanceID: string; tx: BaseTransporter; opts: Transit.TransitOptions; discoverer: BaseDiscoverer; errorRegenerator: ErrorRegenerator; pendingRequests: Map<string, Transit.TransitRequest>; pendingReqStreams: Map<string, any>; pendingResStreams: Map<string, any>; connected: boolean; disconnecting: boolean; isReady: boolean; constructor(broker: ServiceBroker, transporter: Transporter, opts: any | null); registerMoleculerMetrics(): void; afterConnect(wasReconnect: boolean): Promise<void>; connect(): Promise<void>; disconnect(): Promise<any>; ready(): void; sendDisconnectPacket(): Promise<void>; makeSubscriptions(): Promise<void[]>; messageHandler(cmd: string, packet: Packet<any>): Promise<void>; eventHandler(payload: Record<string, any>): Promise<boolean>; requestHandler(payload: Record<string, any>): Promise<void>; _handleIncomingRequestStream(payload: Record<string, any>): boolean | Stream; _createErrFromPayload(error: Record<string, any>, payload: Record<string, any>): Error; responseHandler(packet: Record<string, any>): void; _handleIncomingResponseStream(packet: Record<string, any>, req: Record<string, any>): boolean; request(ctx: Context): Promise<void>; _sendRequest(ctx: Context, resolve: Function, reject: Function): Promise<void>; sendEvent(ctx: Context): Promise<void>; removePendingRequest(id: string): void; removePendingRequestByNodeID(nodeID: string): void; _createPayloadErrorField(error: Error, payload: Record<string, any>): Record<string, any>; sendResponse( nodeID: string, id: string, meta: Record<string, any>, headers: Record<string, any>, data: Record<string, any>, err?: Error ): Promise<void>; discoverNodes(): Promise<void>; discoverNode(nodeID: string): Promise<void>; sendNodeInfo(info: NodeRawInfo, nodeID?: string): Promise<void>; sendPing(nodeID?: string, id?: string): Promise<void>; sendPong(payload: Record<string, any>): Promise<void>; processPong(payload: Record<string, any>): void; sendHeartbeat(localNode: Node): Promise<void>; publish(packet: Packet<any>): Promise<void>; } export = Transit;