pub struct DeferredResolutionRecord {
pub link_key: Option<DeferredResolutionLinkKey>,
pub resolutions: BTreeMap<String, Resolution>,
}Expand description
A per-link record of every deferred resolution, keyed by call-path within
the execution scope. Replay/recovery applies the record so the resolver is
never called twice for the same link. Captures both Resolved grants (with
their Tool Execution Binding) and negative NotAvailable results.
Fields§
§link_key: Option<DeferredResolutionLinkKey>The code link whose outcomes are stored in resolutions. None is the
inactive state before an executor selects its first link.
resolutions: BTreeMap<String, Resolution>Implementations§
Source§impl DeferredResolutionRecord
impl DeferredResolutionRecord
Sourcepub fn select_link(&mut self, link_key: DeferredResolutionLinkKey)
pub fn select_link(&mut self, link_key: DeferredResolutionLinkKey)
Select the active code link, retaining outcomes only when the stable identity matches. A new link replaces the entire record so authority and negative availability results cannot leak across code effects.
Sourcepub fn clear_link(&mut self)
pub fn clear_link(&mut self)
Clear the active link when execution has no stable ExecCode identity.
Such an invocation cannot safely reuse durable resolution outcomes.
pub fn get(&self, path: &str) -> Option<&Resolution>
pub fn record(&mut self, path: impl Into<String>, resolution: Resolution)
pub fn is_empty(&self) -> bool
Trait Implementations§
Source§impl Clone for DeferredResolutionRecord
impl Clone for DeferredResolutionRecord
Source§fn clone(&self) -> DeferredResolutionRecord
fn clone(&self) -> DeferredResolutionRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more