UNPKG

icom-wlan-node

Version:

Icom WLAN (CI‑V, audio) protocol implementation for Node.js/TypeScript.

53 lines (52 loc) 1.44 kB
import { UdpClient } from '../transport/UdpClient'; import { SessionType } from '../types'; export interface SessionOptions { ip: string; port: number; } export interface SessionHandlers { onData: (data: Buffer) => void; onSendError: (err: Error) => void; } export declare class Session { readonly udp: UdpClient; localId: number; remoteId: number; trackedSeq: number; pingSeq: number; innerSeq: number; rigToken: number; localToken: number; lastSentTime: number; lastReceivedTime: number; private address; private handlers; private txHistory; private areYouThereTimer?; private pingTimer?; private destroyed; sessionType?: SessionType; constructor(address: SessionOptions, handlers: SessionHandlers); open(): void; close(): void; get localPort(): number; sendRaw(buf: Buffer): void; sendUntracked(buf: Buffer): void; sendTracked(buf: Buffer): void; retransmit(seq: number): void; private idleTimer?; startIdle(): void; stopIdle(): void; startAreYouThere(): void; stopAreYouThere(): void; startPing(): void; stopPing(): void; stopTimers(): void; setRemote(ip: string, port: number): void; /** * Reset session state to initial values * Call this before reconnecting to ensure clean state * (especially important after radio restart) */ resetState(): void; }