#[non_exhaustive]pub enum RingCondition {
RequiredFlagNotSupported,
VersionNotSupported,
SubmissionQueueFull,
SubmissionQueueTooBig,
CompletionQueueTooBig,
Corrupt,
SubmitInProgress,
CompletionQueueTooFull,
}Expand description
A named IORING_E_* condition (M10.5).
The HRESULT -> name mapping is defined here once and everywhere else asks
(IoRingError::name is derived from this, not a second copy of it), so a
new condition cannot be added to one and forgotten in the other.
#[non_exhaustive]: the kernel’s error set can grow, and a consumer must
not be able to write an exhaustive match that a new variant would break
– the same reasoning as crate::Op’s (D-7).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
RequiredFlagNotSupported
IORING_E_REQUIRED_FLAG_NOT_SUPPORTED.
VersionNotSupported
IORING_E_VERSION_NOT_SUPPORTED.
SubmissionQueueFull
IORING_E_SUBMISSION_QUEUE_FULL: the submission queue has no room.
Recoverable – submit what is queued, drain completions, retry.
SubmissionQueueTooBig
IORING_E_SUBMISSION_QUEUE_TOO_BIG.
CompletionQueueTooBig
IORING_E_COMPLETION_QUEUE_TOO_BIG.
Corrupt
IORING_E_CORRUPT: the ring’s shared state is inconsistent. Fatal.
SubmitInProgress
IORING_E_SUBMIT_IN_PROGRESS: another submit is already running on
this ring.
CompletionQueueTooFull
IORING_E_COMPLETION_QUEUE_TOO_FULL: the completion queue has no room
for more results. Recoverable – drain completions.