import { Client } from "./Client"; import * as v1 from "./protocol/v1"; import { MQAgent } from "./utils/agent"; import Logger from "./utils/logger"; import { WorkerStatus } from "./types"; export type WorkerType = "consumer" | "producer"; export interface WorkerOptions { type: WorkerType; } export type ConnectOptions = Pick; export declare abstract class Worker { protected _workerType: WorkerType; protected _workerStatus: WorkerStatus; protected _client: Client; protected _clientToken: string | undefined; protected _logger: Logger; private _heartBeatTimer; protected _workerAgent: MQAgent; /** * 保存链接时的选项,用于重连 */ private _connectOption; /** * 重连成功或者失败时的resolver */ private _reconnectResolver; constructor(client: Client, options: WorkerOptions); protected _startHeartBeat(): void; protected _stopHeartBeat(): void; protected _connect(options: ConnectOptions): Promise; protected _close(): Promise; protected _reconnect(): Promise; protected _waitReconnectIfNecessary(): Promise; private _heartBeat; private _connectRequest; private _closeRequest; private _heartBeatRequest; }