fn copy_cqes_ready(self: *IoUring, cqes: []linux.io_uring_cqe) u32
fn copy_cqes_ready(self: *IoUring, cqes: []linux.io_uring_cqe) u32 { const ready = self.cq_ready(); const count = @min(cqes.len, ready); const head = self.cq.head.* & self.cq.mask; // before wrapping const n = @min(self.cq.cqes.len - head, count); @memcpy(cqes[0..n], self.cq.cqes[head..][0..n]); if (count > n) { // wrap self.cq.cqes const w = count - n; @memcpy(cqes[n..][0..w], self.cq.cqes[0..w]); } self.cq_advance(count); return count; }