MCPcopy Create free account
hub / github.com/awslabs/llrt / dequeue_value

Method dequeue_value

modules/llrt_stream_web/src/utils/queue.rs:57–71  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

55 }
56
57 pub fn dequeue_value(&mut self) -> Value<'js> {
58 // Let valueWithSize be container.[[queue]][0].
59 // Remove valueWithSize from container.[[queue]].
60 let value_with_size = self
61 .queue
62 .pop_front()
63 .expect("DequeueValue called with empty queue");
64 // Set container.[[queueTotalSize]] to container.[[queueTotalSize]] − valueWithSize’s size.
65 self.queue_total_size -= value_with_size.size;
66 // If container.[[queueTotalSize]] < 0, set container.[[queueTotalSize]] to 0. (This can occur due to rounding errors.)
67 if self.queue_total_size < 0.0 {
68 self.queue_total_size = 0.0
69 }
70 value_with_size.value
71 }
72
73 pub fn reset_queue(&mut self) {
74 // Set container.[[queue]] to a new empty list.

Calls

no outgoing calls

Tested by

no test coverage detected