UNPKG

reliable-zeromq

Version:

A collection of reliable zeromq messaging constructs

34 lines (33 loc) 1.18 kB
import * as zmq from "zeromq"; import { TZMQSubscriberErrorHandlers } from "../Errors"; import { ZMQRequest } from "../ZMQRequest"; import TopicEntry from "./TopicEntry"; export declare type TSubscriptionCallback = (aMessage: string) => void; export declare type TEndpointEntry = { Subscriber: zmq.Subscriber; Requester: ZMQRequest; TopicEntries: Map<string, TopicEntry>; }; export declare type TSubscriptionEndpoints = { PublisherAddress: string; RequestAddress: string; }; export declare class ZMQSubscriber { private readonly mEndpoints; private readonly mErrorHandlers; private mSubscriptions; private mTokenId; constructor(aErrorHandlers?: TZMQSubscriberErrorHandlers); private get SubscriptionId(); private static CloseEndpoint; private AddSubscriptionEndpoint; private EmitCacheError; private EmitDroppedMessageWarn; private InitTopicEntry; private ParseNewMessage; private PruneIfEmpty; private RecoverMissingMessages; Close(): void; Subscribe(aEndpoint: TSubscriptionEndpoints, aTopic: string, aCallback: TSubscriptionCallback): number; Unsubscribe(aSubscriptionId: number): void; }