reliable-zeromq
Version:
A collection of reliable zeromq messaging constructs
34 lines (33 loc) • 1.18 kB
TypeScript
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;
}