pub struct Setup<'env, 'pool, E: EpochId + 'static, R> {
pub submission_queue_size: u32,
pub completion_queue_size: u32,
pub files: Vec<TargetSetup>,
pub buffers: Vec<R>,
pub provider: Option<Box<dyn DurabilityProvider<WindowsIds<E>>>>,
pub diagnostics: Option<Arc<dyn DiagnosticSink>>,
pub delivery: DeliveryMode<'env, 'pool>,
}Expand description
What a dioring instance is built with. Both registrations are the ring’s only ones (one of each per ring), so they are made here or never.
Fields§
§submission_queue_size: u32The ring’s submission queue size, as windows-ioring-sys takes it.
completion_queue_size: u32The ring’s completion queue size, as windows-ioring-sys takes it.
files: Vec<TargetSetup>Registered with the ring, which holds their files for its life. A target added later is not registered.
buffers: Vec<R>Already allocated and placed by the consumer; dioring neither allocates nor places them. Empty registers nothing.
provider: Option<Box<dyn DurabilityProvider<WindowsIds<E>>>>The consumer’s durability provider, if any. None leaves every domain to the built-in
default.
diagnostics: Option<Arc<dyn DiagnosticSink>>Where the instance’s diagnostics go (DI-D-51). None is the driver’s default, which is
NoDiagnostics until DI-12.1 makes it ETW.
delivery: DeliveryMode<'env, 'pool>How the instance’s completions are drained (DI-D-52, DI-D-55).