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§
Sourcefn discovery(&self) -> CompanionDiscovery
fn discovery(&self) -> CompanionDiscovery
Returns the search strategy (local layout hint for remote-backed companions).
Sourcefn output_name(&self, source_dir: &[&str], stem: &str) -> String
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.
Sourcefn companion_media_types(&self) -> &'static [&'static str]
fn companion_media_types(&self) -> &'static [&'static str]
MIME types accepted for companion documents in this family.
Provided Methods§
Sourcefn companion_title(&self, stem: &str, bytes: &[u8]) -> String
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".