MCPcopy Create free account
hub / github.com/GCWing/BitFun / enqueue

Method enqueue

src/crates/execution/agent-runtime/src/scheduler.rs:265–290  ·  view source on GitHub ↗
(
        &self,
        session_id: &str,
        turn: T,
        priority: DialogQueuePriority,
    )

Source from the content-addressed store, hash-verified

263 }
264
265 pub fn enqueue(
266 &self,
267 session_id: &str,
268 turn: T,
269 priority: DialogQueuePriority,
270 ) -> Result<usize, DialogTurnQueueError> {
271 let mut queue = self.inner.entry(session_id.to_string()).or_default();
272 if queue.len() >= self.max_depth {
273 return Err(DialogTurnQueueError::Full {
274 session_id: session_id.to_string(),
275 max_depth: self.max_depth,
276 });
277 }
278
279 let queued = QueuedDialogTurn { priority, turn };
280 let insert_at = queue
281 .iter()
282 .position(|existing| existing.priority < queued.priority);
283 if let Some(index) = insert_at {
284 queue.insert(index, queued);
285 } else {
286 queue.push_back(queued);
287 }
288
289 Ok(queue.len())
290 }
291
292 pub fn clear(&self, session_id: &str) -> usize {
293 self.inner

Calls 3

iterMethod · 0.80
lenMethod · 0.45
insertMethod · 0.45