demikernel icon indicating copy to clipboard operation
demikernel copied to clipboard

Turning from Unbounded AsyncQueue to Bounded AsyncQueue

Open carvalhof opened this issue 1 year ago • 0 comments

Context

Currently, AsyncQueue is unbounded, which can cause the queue to grow indefinitely.

Proposed Solution

One solution would be to use the ArrayDeque of crate::arraydeque and restrict the queue to a fixed value (e.g., 1024). This change maintains the insertion and removal operations that are already in the AsyncQueue, such as push_back, push_front, and pop_front, in addition to basic operations such as len, is_empty, iter, and iter_mut.

Another enhancement involves the use of the Saturating parameter. This feature ensures that when the queue reaches its maximum capacity, any new elements will be automatically discarded, preventing the queue from growing beyond its set limit.

carvalhof avatar Jul 12 '24 01:07 carvalhof