reliable-zeromq
Version:
A collection of reliable zeromq messaging constructs
41 lines (40 loc) • 1.43 kB
TypeScript
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 {};