pub struct SetupError<E: EpochId + 'static, R> {
pub reason: SetupRefusal,
pub files: Vec<TargetSetup>,
pub buffers: Option<Vec<R>>,
pub provider: Option<Box<dyn DurabilityProvider<WindowsIds<E>>>>,
}Expand description
A failed construction hands back what it was given. buffers is None only once the buffers
have been handed to the kernel and could not be shown to have come back: when the kernel’s
registration completion itself failed (windows-ioring-sys drops them then), when no
completion arrived (the ring crate leaks them rather than free memory the kernel may hold), or
when the registration succeeded and wiring the ring’s delivery then failed (the registration
holds them, and has no way to give them back).
That last failure is not reached by this crate’s tests: wiring delivery fails where the system does not support a ring completion event, or the thread pool cannot create a wait.
Fields§
§reason: SetupRefusalWhy construction failed.
files: Vec<TargetSetup>The targets, in the order given.
buffers: Option<Vec<R>>The buffers, unless the kernel was given them; see above.
provider: Option<Box<dyn DurabilityProvider<WindowsIds<E>>>>The provider, if one was given.