1 | import { Observer } from 'zen-observable-ts';
|
2 | export 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 | */
|
12 | export 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 | }
|