queue
Message queue and task queue for PascalAI. Enqueue and dequeue items, peek at the front, and inspect queue state.
Install
ppm install queue
Usage Example
uses queue;
// Create a task queue
var taskQueue: Queue;
// Enqueue tasks
Enqueue(taskQueue, 'process-image');
Enqueue(taskQueue, 'send-email');
Enqueue(taskQueue, 'update-db');
// Check state
WriteLn(IntToStr(Size(taskQueue))); // 3
WriteLn(BoolToStr(IsEmpty(taskQueue))); // False
// Peek without removing
var next := Peek(taskQueue); // 'process-image'
// Process all tasks
while not IsEmpty(taskQueue) do begin
var task := Dequeue(taskQueue);
ProcessTask(task);
end;
// Reset
Clear(taskQueue);
Features
Enqueue: add an item to the back of the queue
Dequeue: remove and return item from the front
Peek: inspect front item without removing
Size: number of items currently in the queue
IsEmpty: check if the queue has no items
Clear: remove all items at once
Generic: works with any PascalAI type