hazelcast-client
Version: 
Hazelcast - open source In-Memory Data Grid - client for NodeJS
31 lines (30 loc) • 1.32 kB
TypeScript
/// <reference types="bluebird" />
import * as Promise from 'bluebird';
import { ITopic } from './ITopic';
import { TopicMessageListener } from './TopicMessageListener';
import HazelcastClient from '../../HazelcastClient';
import { IRingbuffer } from '../IRingbuffer';
import { RawTopicMessage } from './RawTopicMessage';
import { BaseProxy } from '../BaseProxy';
export declare const RINGBUFFER_PREFIX = "_hz_rb_";
export declare const TOPIC_INITIAL_BACKOFF = 100;
export declare const TOPIC_MAX_BACKOFF = 2000;
export declare class ReliableTopicProxy<E> extends BaseProxy implements ITopic<E> {
    private ringbuffer;
    private localAddress;
    private batchSize;
    private runners;
    private serializationService;
    private overloadPolicy;
    constructor(client: HazelcastClient, serviceName: string, name: string);
    addMessageListener(listener: TopicMessageListener<E>): string;
    removeMessageListener(id: string): boolean;
    publish(message: E): Promise<void>;
    private addOrDiscard(reliableTopicMessage);
    private addWithError(reliableTopicMessage);
    private addOrOverwrite(reliableTopicMessage);
    private addWithBackoff(reliableTopicMessage);
    private trySendMessage(message, delay, resolve);
    getRingbuffer(): IRingbuffer<RawTopicMessage>;
    destroy(): Promise<void>;
}