pub trait AllocatedQueue<'a, D: Direction>:
TryDequeue
+ Stream
+ Sized {
// Required methods
fn num_buffers(&self) -> usize;
fn num_free_buffers(&self) -> usize;
fn num_queued_buffers(&self) -> usize;
fn free_buffers(self) -> Result<FreeBuffersResult<D, Self>, ReqbufsError>;
}
Expand description
Trait for a configured queue, i.e. a queue on which we can queue and dequeue buffers.
Required Methods§
Sourcefn num_buffers(&self) -> usize
fn num_buffers(&self) -> usize
Returns the total number of buffers allocated for this queue.
Sourcefn num_free_buffers(&self) -> usize
fn num_free_buffers(&self) -> usize
Returns the number of buffers that we can currently obtain and queue.
Sourcefn num_queued_buffers(&self) -> usize
fn num_queued_buffers(&self) -> usize
Returns the number of buffers currently queued (i.e. being processed or awaiting to be dequeued).
Sourcefn free_buffers(self) -> Result<FreeBuffersResult<D, Self>, ReqbufsError>
fn free_buffers(self) -> Result<FreeBuffersResult<D, Self>, ReqbufsError>
Release all the allocated buffers and returns the queue to the Init
state.
If successful, any queued buffer is also returned as canceled.
In case of failure, the queue and its currently queued buffers are lost.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.