Skip to main content

IoTarget

Trait IoTarget 

Source
pub trait IoTarget: Send {
    // Required methods
    fn flush_domains(&self) -> &[FlushDomain];
    fn warranty(&self) -> WarrantyClass;
    fn geometry(&self) -> Geometry;
    fn capabilities(&self) -> Capabilities;

    // Provided method
    fn describe(&self) -> IoTargetDescription { ... }
}
Expand description

A target: what a write or a read addresses and a commit makes durable, defined by the contract’s obligations and by what it reports here (DI-D-50).

A target is not where its I/O runs: the backend it is attached to runs that, by whatever means it has to reach what backs the target.

Required Methods§

Source

fn flush_domains(&self) -> &[FlushDomain]

Every flush domain its writes depend on. The declaration must be complete; an extra domain is safe, a missing one is not. None means it shares fate with every target.

Source

fn warranty(&self) -> WarrantyClass

How far it honours its obligations.

Source

fn geometry(&self) -> Geometry

The alignment its operations need.

Source

fn capabilities(&self) -> Capabilities

What it offers beyond its obligations.

Provided Methods§

Source

fn describe(&self) -> IoTargetDescription

Everything it states, as the core takes it.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§