Skip to main content

AsyncCompanionStrategy

Trait AsyncCompanionStrategy 

Source
pub trait AsyncCompanionStrategy: Send + Sync {
    // Required methods
    fn discovery(&self) -> CompanionDiscovery;
    fn output_name(&self, source_dir: &[&str], stem: &str) -> String;
    fn companion_media_types(&self) -> &'static [&'static str];
    async fn discover(&self, contract_root: &Path) -> Result<Vec<CompanionFile>>;

    // Provided method
    fn companion_title(&self, stem: &str, bytes: &[u8]) -> String { ... }
}
Expand description

Async companion fetch (remote registries, URL-backed docs).

Use when companion discovery requires network I/O beyond local filesystem search.

Required Methods§

Source

fn discovery(&self) -> CompanionDiscovery

Returns the search strategy (local layout hint for remote-backed companions).

Source

fn output_name(&self, source_dir: &[&str], stem: &str) -> String

Computes the output filename for a companion given its source directory path segments and stem.

Source

fn companion_media_types(&self) -> &'static [&'static str]

MIME types accepted for companion documents in this family.

Source

async fn discover(&self, contract_root: &Path) -> Result<Vec<CompanionFile>>

Discovers companions asynchronously (remote fetch, registry lookup, etc.).

Provided Methods§

Source

fn companion_title(&self, stem: &str, bytes: &[u8]) -> String

Human nav title for a companion (default: first markdown # heading).

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§