pub trait NetDiagnosticsBackend: Send + Sync {
// Required methods
fn check<'life0, 'life1, 'async_trait>(
&'life0 self,
target: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<String, ActionError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn trace<'life0, 'life1, 'async_trait>(
&'life0 self,
target: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<String, ActionError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn cert<'life0, 'life1, 'async_trait>(
&'life0 self,
target: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<String, ActionError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Expand description
Optional backend for read-only network diagnostics (Issue 139). Each method
runs one probe against target and returns a human/LLM-legible report. Kept
as its own trait — separate from the egress-oriented WebSearchBackend —
because diagnostics neither search nor fetch: they resolve, connect, trace,
and inspect, and stay wired even when web search is disabled.
Required Methods§
Sourcefn check<'life0, 'life1, 'async_trait>(
&'life0 self,
target: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<String, ActionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn check<'life0, 'life1, 'async_trait>(
&'life0 self,
target: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<String, ActionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
DNS resolution + timed TCP connect to target (host[:port] or URL).
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".