UNPKG

npaw-plugin-nwf

Version:
57 lines (56 loc) 1.42 kB
import SessionsRequest from '../SessionsRequest'; /** * Manages the request queue with backpressure */ export default class RequestQueue { private requests; private maxSize; constructor(maxSize?: number); /** * Enqueue a request * @param request - Request to enqueue * @returns true if enqueued, false if dropped due to backpressure */ enqueue(request: SessionsRequest): boolean; /** * Dequeue and return the first request * @returns The first request or undefined if queue is empty */ dequeue(): SessionsRequest | undefined; /** * Peek at the first request without removing it * @returns The first request or undefined if queue is empty */ peek(): SessionsRequest | undefined; /** * Add a request to the beginning of the queue * @param request - Request to add */ unshift(request: SessionsRequest): void; /** * Check if queue is empty */ isEmpty(): boolean; /** * Get current queue size */ size(): number; /** * Clear all requests */ clear(): void; /** * Update max size * @param maxSize - New maximum size */ setMaxSize(maxSize: number): void; /** * Get max size */ getMaxSize(): number; /** * Get all requests (for internal/legacy use) * @internal */ getRequests(): SessionsRequest[]; }