Struct mlx_ethernet::completion_queue::CompletionQueue
source · pub struct CompletionQueue { /* private fields */ }
Expand description
A data structure that contains the CQ buffer and is used to interact with the CQ once initialized.
Implementations§
source§impl CompletionQueue
impl CompletionQueue
sourcepub fn init(
entries_mp: MappedPages,
num_entries: usize,
doorbell_mp: MappedPages,
cqn: Cqn
) -> Result<CompletionQueue, &'static str>
pub fn init( entries_mp: MappedPages, num_entries: usize, doorbell_mp: MappedPages, cqn: Cqn ) -> Result<CompletionQueue, &'static str>
Creates a completion queue by mapping the buffer as a slice of CompletionQueueEntry
s.
Each CQE is set to an initial state.
Arguments
entries_mp
: memory that is to be transformed into a slice of CQEs. The starting physical address should have been passed to the HCA when creating the CQ.num_entries
: number of entries in the CQdoorbell_mp
: memory that is to be transformed into aCompletionQueueDoorbellRecord
. The starting physical address should have been passed to the HCA when creating the CQ.cqn
: CQ number returned by the HCA
sourcepub fn check_packet_transmission(&mut self, entry_num: usize, wqe_counter: u16)
pub fn check_packet_transmission(&mut self, entry_num: usize, wqe_counter: u16)
Checks if a packet is transmitted by comparing the wqe_counter
with the value in the CQE.
If it is, then prints out the WQE opcode and counter.
Auto Trait Implementations§
impl RefUnwindSafe for CompletionQueue
impl Send for CompletionQueue
impl Sync for CompletionQueue
impl Unpin for CompletionQueue
impl UnwindSafe for CompletionQueue
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more