emberplus-connection
Version:
Javascript implementation of the Ember+ automation protocol
49 lines • 1.45 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
import { EventEmitter } from 'eventemitter3';
import { Socket } from 'net';
import { S101Codec } from '../../S101';
import { ConnectionStatus } from '../Client';
import { Root } from '../../types';
import { DecodeResult } from '../../encodings/ber/decoder/DecodeResult';
export type Request = any;
export type S101SocketEvents = {
error: [Error];
emberTree: [root: DecodeResult<Root>];
emberStreamTree: [root: DecodeResult<Root>];
connecting: [];
connected: [];
disconnected: [];
};
export default class S101Socket extends EventEmitter<S101SocketEvents> {
protected socket: Socket | undefined;
private readonly keepaliveInterval;
private readonly keepaliveMaxResponseTime;
protected keepaliveIntervalTimer: NodeJS.Timeout | undefined;
private keepaliveResponseWindowTimer;
status: ConnectionStatus;
protected readonly codec: S101Codec;
constructor(socket?: Socket);
private _initSocket;
/**
* @param {number} timeout=2
*/
disconnect(timeout?: number): Promise<void>;
/**
*
*/
protected handleClose(): void;
private isConnected;
sendBER(data: Buffer): boolean;
/**
*
*/
private sendKeepaliveRequest;
/**
*
*/
private sendKeepaliveResponse;
protected startKeepAlive(): void;
}
//# sourceMappingURL=S101Socket.d.ts.map