| Crates.io | ring_promise |
| lib.rs | ring_promise |
| version | 0.1.0 |
| created_at | 2025-07-04 12:28:56.440256+00 |
| updated_at | 2025-07-04 12:28:56.440256+00 |
| description | A minimal, ergonomic, and thread-friendly abstraction for submission/completion ring-based I/O in Rust. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1737965 |
| size | 15,943 |
A minimal, ergonomic, and thread-friendly abstraction for submission/completion ring-based I/O in Rust.
Add to your Cargo.toml:
[dependencies]
ring_promise = "0.1.0"
use ring_promise::{PRingSender, traits::*};
// Define your SQE, CQE, and ring types here...
// let ring = ...;
// let sender = PRingSender::<MySQE, MyCQE>::new::<MySQ, MyCQ, MyRing>(ring);
// let promise = sender.submit(my_entry);
// let result = promise.wait().unwrap(); // Look at the promisery crate for details on handling the promises.
SubmissionQueueEntry: Types that can be submitted to a submission queue.SubmissionQueue: A queue for submission entries.CompletionQueueEntry: Types produced by completion queues.CompletionQueue: A queue for completion entries (iterator).Submitter: Notifies the kernel/system of new submissions.FullRing: Combines submission, completion, and submitter.MIT OR Apache-2.0