@aws-amplify/pubsub
Version:
Pubsub category of aws-amplify
30 lines (29 loc) • 1.05 kB
TypeScript
import { Observer } from 'zen-observable-ts';
export declare enum ReconnectEvent {
START_RECONNECT = "START_RECONNECT",
HALT_RECONNECT = "HALT_RECONNECT"
}
/**
* Captures the reconnect event logic used to determine when to reconnect to PubSub providers.
* Reconnnect attempts are delayed by 5 seconds to let the interface settle.
* Attempting to reconnect only once creates unrecoverable states when the network state isn't
* supported by the browser, so this keeps retrying every minute until halted.
*/
export declare class ReconnectionMonitor {
private reconnectObservers;
private reconnectIntervalId?;
private reconnectSetTimeoutId?;
/**
* Add reconnect observer to the list of observers to alert on reconnect
*/
addObserver(reconnectObserver: Observer<void>): void;
/**
* Given a reconnect event, start the appropriate behavior
*/
record(event: ReconnectEvent): void;
/**
* Complete all reconnect observers
*/
close(): void;
private _triggerReconnect;
}