homebridge-pioneer-avr-2025
Version:
A Pioneer AVR plugin for homebridge. This plugin is designed for Pioneer models that use Telnet Commands (e.g., VSX-922). It may not be compatible with newer models (e.g., VSX-LX304).
52 lines • 1.94 kB
TypeScript
import type { Connection } from './connection';
export declare class MessageQueue {
private connection;
queue: [string, string][];
private conn;
log: any;
queueCallbackChars: Record<string, Function[]>;
callbackLocks: Record<string, {
queueLock: boolean;
queueLockDate: number | null;
message: string | undefined;
}>;
constructor(connection: Connection);
/**
* Starts periodic checking and processing of the queue.
* Releases locks and processes messages as needed.
*/
private startQueueCheck;
/**
* Processes the first item in the queue, sending the message if not locked.
*/
processQueue(): Promise<void>;
/**
* Adds a message to the queue with optional callback characters and a callback function.
* @param message - The message to send
* @param callbackChars - The callback character string to track
* @param callback - The function to execute when the response is received
*/
enqueue(message: string, callbackChars?: string, callback?: Function): void;
/**
* Clears the entire queue and resets all locks and callbacks.
*/
clearQueue(): void;
/**
* Removes all callbacks associated with a specific callback character key.
* @param callbackKey - The callback key to clear
* @param callback - The specific callback to remove
*/
removeCallbackForKey(callbackKey: string): void;
/**
* Retrieves all callback keys currently in the queueCallbackChars map.
* @returns {string[]} - An array of callback keys
*/
getCallbackKeys(): string[];
/**
* Retrieves all callbacks associated with a specific callback key.
* @param callbackKey - The key to retrieve callbacks for
* @returns {Function[]} - An array of callbacks
*/
getCallbacksForKey(callbackKey: string): Function[];
}
//# sourceMappingURL=messageQueue.d.ts.map