UNPKG

@cloudamqp/amqp-client

Version:

AMQP 0-9-1 client, both for browsers (WebSocket) and node (TCP Socket)

33 lines 1.32 kB
import type { AMQPMessage } from "./amqp-message.js"; import type { ResolveBody } from "./amqp-publisher.js"; import type { ParserMap, CoderMap } from "./amqp-codec-registry.js"; /** * Callback invoked for each incoming RPC request. * Receives a decoded {@link AMQPMessage} and returns the response body. */ export type RPCHandler<P extends ParserMap = {}, KP extends keyof P & string = never> = (msg: AMQPMessage<P>) => ResolveBody<P, KP> | Promise<ResolveBody<P, KP>>; /** * An RPC server that consumes messages from a queue and replies to each caller. * * Uses the session's queue and subscribe machinery, so the consumer is * automatically recovered after a reconnection. * * @example * ```ts * const session = await AMQPSession.connect("amqp://localhost") * const server = await session.rpcServer("my_rpc_queue", async (msg) => { * return `processed:${msg.bodyString()}` * }) * // later… * await session.stop() * ``` */ export declare class AMQPRPCServer<P extends ParserMap = {}, C extends CoderMap = {}, KP extends keyof P & string = never, KC extends keyof C & string = never> { private readonly session; private subscription; /** * Cancel the consumer. The underlying queue remains declared. */ close(): Promise<void>; } //# sourceMappingURL=amqp-rpc-server.d.ts.map