moleculer
Version:
Fast & powerful microservices framework for Node.JS
45 lines (34 loc) • 1.3 kB
TypeScript
import BaseTransporter = require("./base");
declare namespace AmqpTransporter {
export interface AmqpTransporterOptions {
url?: string | string[];
prefetch?: number;
eventTimeToLive?: number;
heartbeatTimeToLive?: number;
queueOptions?: Record<string, any>;
exchangeOptions?: Record<string, any>;
messageOptions?: Record<string, any>;
consumeOptions?: Record<string, any>;
autoDeleteQueues?: boolean | number;
}
}
declare class AmqpTransporter extends BaseTransporter {
opts: AmqpTransporter.AmqpTransporterOptions;
hasBuiltInBalancer: boolean;
connection: any;
channel: any;
bindings: any[];
channelDisconnecting: boolean;
connectionDisconnecting: boolean;
connectionCount: number;
constructor(opts?: string | AmqpTransporter.AmqpTransporterOptions);
connect(): Promise<void>;
disconnect(): Promise<void>;
_getQueueOptions(packetType: string, balancedQueue?: boolean): Record<string, any>;
_consumeCB(cmd: string, needAck?: boolean): (msg: any) => void | Promise<void>;
subscribe(cmd: string, nodeID?: string): Promise<void>;
subscribeBalancedRequest(action: string): Promise<void>;
subscribeBalancedEvent(event: string, group: string): Promise<void>;
send(topic: string, data: Buffer, meta: Record<string, any>): Promise<void>;
}
export = AmqpTransporter;