UNPKG

reliable-zeromq

Version:

A collection of reliable zeromq messaging constructs

41 lines (40 loc) 1.43 kB
import { TZMQPublisherErrorHandlers } from "./Errors"; import { TSubscriptionEndpoints } from "./ZMQSubscriber/ZMQSubscriber"; export declare const PUBLISHER_CACHE_EXPIRED: string; export declare enum EMessageType { HEARTBEAT = "HEARTBEAT", PUBLISH = "PUBLISH" } export declare enum EPublishMessage { Topic = 0, MessageType = 1, Nonce = 2, Message = 3 } export declare type TPublishMessage = [topic: string, type: EMessageType, nonce: number, message: string]; declare type TRecoveryFailure = [error: string]; export declare type TRecoveryMessage = TPublishMessage | TRecoveryFailure; export declare type TRecoveryRequest = [string, ...number[]]; export declare type TRecoveryResponse = TRecoveryMessage[]; export declare class ZMQPublisher { private readonly mEndpoint; private readonly mErrorHandlers; private mHeartbeatTimeout; private readonly mMessageCaches; private mPublisher; private readonly mPublishQueue; private mResponse; private mSafeToPublish; private readonly mTopicDetails; constructor(aEndpoint: TSubscriptionEndpoints, aErrorHandlers?: TZMQPublisherErrorHandlers); get Endpoint(): string; private CheckHeartbeats; private HandleRequest; private HandleZMQPublishError; private ProcessPublish; private QueuePublish; Close(): void; Open(): Promise<void>; Publish(aTopic: string, aData: string): void; } export {};