UNPKG

1.05 kBTypeScriptView Raw
1import { Observer } from 'zen-observable-ts';
2export declare enum ReconnectEvent {
3 START_RECONNECT = "START_RECONNECT",
4 HALT_RECONNECT = "HALT_RECONNECT"
5}
6/**
7 * Captures the reconnect event logic used to determine when to reconnect to PubSub providers.
8 * Reconnnect attempts are delayed by 5 seconds to let the interface settle.
9 * Attempting to reconnect only once creates unrecoverable states when the network state isn't
10 * supported by the browser, so this keeps retrying every minute until halted.
11 */
12export declare class ReconnectionMonitor {
13 private reconnectObservers;
14 private reconnectIntervalId?;
15 private reconnectSetTimeoutId?;
16 /**
17 * Add reconnect observer to the list of observers to alert on reconnect
18 */
19 addObserver(reconnectObserver: Observer<void>): void;
20 /**
21 * Given a reconnect event, start the appropriate behavior
22 */
23 record(event: ReconnectEvent): void;
24 /**
25 * Complete all reconnect observers
26 */
27 close(): void;
28 private _triggerReconnect;
29}