UNPKG

atem-connection

Version:

Typescript Node.js library for connecting with an ATEM switcher.

69 lines 2.11 kB
/// <reference types="node" /> export declare const COMMAND_CONNECT_HELLO: Buffer; export declare enum ConnectionState { Closed = 0, SynSent = 1, Established = 2, /** Disconnected by the user (by calling `disconnect()`) */ Disconnected = 3 } export declare enum PacketFlag { AckRequest = 1, NewSessionId = 2, IsRetransmit = 4, RetransmitRequest = 8, AckReply = 16 } export interface OutboundPacketInfo { payloadLength: number; payloadHex: string; trackingId: number; } export declare class AtemSocketChild { private readonly _debugBuffers; private _connectionState; private _reconnectTimer; private _retransmitTimer; private _nextSendPacketId; private _sessionId; private _address; private _port; private _socket; private _lastReceivedAt; private _lastReceivedPacketId; private _inFlight; private _ackTimer; private _receivedWithoutAck; private readonly onDisconnect; private readonly onLog; private readonly onCommandsReceived; private readonly onPacketsAcknowledged; constructor(options: { address: string; port: number; debugBuffers: boolean; }, onDisconnect: () => Promise<void>, onLog: (message: string) => Promise<void>, onCommandReceived: (payload: Buffer, packetId: number) => Promise<void>, onCommandAcknowledged: (ids: Array<{ packetId: number; trackingId: number; }>) => Promise<void>); private startTimers; connect(address: string, port: number): Promise<void>; disconnect(): Promise<void>; private _clearTimers; private restartConnection; private log; sendPackets(packets: OutboundPacketInfo[]): void; private sendPacket; private _recreateSocket; private _closeSocket; private _createSocket; private _isPacketCoveredByAck; private _receivePacket; private _sendPacket; private _sendOrQueueAck; private _sendAck; private _retransmitFrom; private _triggerRetransmitTimer; private _checkForRetransmit; } //# sourceMappingURL=atemSocketChild.d.ts.map