Skip to main content

Module priority

Module priority 

Source
Expand description

Priority Queue

Manages requests with different priority levels.

§Usage

use std::collections::HashMap;
use tokio_prompt_orchestrator::{SessionId, PromptRequest};
use tokio_prompt_orchestrator::enhanced::{PriorityQueue, Priority};
let queue = PriorityQueue::new();

queue.push(Priority::High, request1).await.ok();
queue.push(Priority::Normal, request2).await.ok();
queue.push(Priority::Low, request3).await.ok();

// Dequeue by priority  -  highest priority first
if let Some((_priority, request)) = queue.pop().await {
    println!("{}", request.input);
}

Structs§

PriorityQueue
A priority queue for PromptRequest items that orders requests by Priority and, within the same tier, by arrival time (FIFO).
QueueStats
Queue statistics

Enums§

Priority
Request priority level.
QueueError
Queue error types