knxnetjs
Version:
A TypeScript library for KNXnet/IP communication
45 lines • 1.59 kB
TypeScript
import { EventEmitter } from "events";
import { KNXBusInterface } from "../types";
import { CEMIFrame } from "../frames";
export declare class KNXNetTunnelingImpl extends EventEmitter implements KNXBusInterface {
private socket;
private isConnected;
private readonly options;
private connectionId;
private sequenceCounter;
private heartbeatTimer;
private connectionTimer;
private serverEndpoint;
private localEndpoint;
private readonly busmonitorMode;
constructor(serverAddress: string, serverPort?: number, localPort?: number, busmonitorMode?: boolean);
open(): Promise<void>;
send(frame: CEMIFrame): Promise<void>;
close(): Promise<void>;
/**
* Check if this connection is in busmonitor mode
*/
isBusmonitorMode(): boolean;
on(event: "recv", listener: (frame: CEMIFrame) => void): this;
on(event: "error", listener: (error: Error) => void): this;
private setupSocket;
private establishConnection;
private createConnectRequestFrame;
private createTunnelingRequestFrame;
private createHPAI;
private parseHPAI;
private isConnectResponse;
private isTunnelingAck;
private parseConnectResponse;
private parseTunnelingAck;
private handleIncomingMessage;
private handleTunnelingRequest;
private sendTunnelingAck;
private handleConnectionStateRequest;
private sendConnectionStateResponse;
private sendDisconnectRequest;
private startHeartbeat;
private sendConnectionStateRequest;
private cleanup;
}
//# sourceMappingURL=tunneling.d.ts.map