@mescius/dspdfviewer
Version:
Document Solutions PDF Viewer
57 lines (56 loc) • 2.01 kB
TypeScript
import GcPdfViewer from "../..";
import { ClientMessageType, ClientMessage, ClientRequestType } from "./ClientMessage";
import { ISupportApi } from "../ISupportApi";
import { LogLevel } from "../../SharedDocuments/types";
/**
* Represent a persistent connection between client and server using Web Sockets.
* */
export declare class PersistentConnection {
private _host;
private _supportApi;
private _clientId;
private _reconnectInterval?;
private _webSocketUrl?;
private _isLegacyServer?;
private _connection;
private _legacyServerHub;
private _pendingResponseHash;
private _connected;
private _legacyServerPromise;
private _netCoreServerPromise;
/**
* PersistentConnection class constructor.
* @param _host
* @param _clientID
* @param apiUrl
*/
constructor(_host: GcPdfViewer, _supportApi: ISupportApi, _clientId: string, _reconnectInterval?: number | undefined, _webSocketUrl?: string | undefined, _isLegacyServer?: boolean | undefined);
get logLevel(): LogLevel;
get clientId(): string;
get isConnected(): boolean;
/**
* Start persistent Web Socket connection.
* */
start(): Promise<void>;
/**
* Stop persistent Web Socket connection.
* */
stop(): void;
/**
* Send message without waiting for response.
* @param messageData
*/
sendMessage(type: ClientMessageType, messageData: Partial<ClientMessage>): Promise<void>;
/**
* Send request message and wait for response.
* @param messageData
*/
sendRequest<T>(type: ClientRequestType, messageData?: Partial<ClientMessage>): Promise<T>;
logError(method: string, message: string): void;
logDebug(method: string, message: string): void;
private onServerMessage;
initLegacyServer(): Promise<any>;
initNetCoreServer(): Promise<any>;
private initNetCoreServerInternal;
private initLegacyServerInternal;
}