import { WebSocket } from 'ws'; import { Packet } from '../packet/Packet'; import { PacketQueue } from './PacketQueue'; import { ConnectionID } from '../connection/ConnectionID'; import { ChannelQueue } from './ChannelQueue'; export declare class QueueManager { private packetsInQueue; private channelsInQueue; /** * Менеджер очереди пакетов * на стороне сервера */ constructor(); /** * Добавляет запрос в очередь * @param src исходный ид * @param dst целевой ид */ addRequestToQueue(src: ConnectionID, dst: ConnectionID): void; private isAlreadyRequest; getChannel(src: ConnectionID): ChannelQueue; /** * Убрать соединение из очереди, т.к оно принято, или например отклонено */ removeFromQueue(src: ConnectionID, dst: ConnectionID): boolean; /** * Добавить пакет в очередь пакетов * @param packet Packet добавляемый в очередь */ addPacketToQueue(packet: Packet): void; /** * Вернуть очередь пакетов * @returns все пакеты в очереди */ getAll(): PacketQueue[]; /** * Отправляет всю очередь адресатам * @param socketClient сокет освобождения очереди * @param src исходящий connection id очереди */ freeQueue(socketClient?: WebSocket, src?: string): void; }