pub enum DiscoveryResult {
Resolved(Project),
EntryNotFound {
vfr_id: String,
status: u16,
},
UnverifiedEntry {
vfr_id: String,
reason: String,
},
BrokenLocator {
vfr_id: String,
locator: String,
status: u16,
},
Unreachable {
url: String,
error: String,
},
}Expand description
v0.41.0: Result of trying to discover a peer’s frontier through
the hub’s /entries/<vfr_id> endpoint. The runtime needs to
distinguish three failure modes — peer unreachable, registry
entry signature invalid, and locator URL dead — because each one
has a different remediation.
Variants§
Resolved(Project)
Hub returned a valid entry, signature verified, locator fetched, manifest parsed. Includes the project for downstream diff.
EntryNotFound
Hub /entries/<vfr_id> returned 4xx/5xx — peer doesn’t claim to know this vfr_id.
UnverifiedEntry
Hub returned an entry but its signature does not verify against the registered peer pubkey. Halts content sync.
BrokenLocator
Hub entry verifies, but its network_locator URL returns
4xx/5xx. Stale-locator failure mode.
Unreachable
Network error to the hub itself or to the locator.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DiscoveryResult
impl RefUnwindSafe for DiscoveryResult
impl Send for DiscoveryResult
impl Sync for DiscoveryResult
impl Unpin for DiscoveryResult
impl UnsafeUnpin for DiscoveryResult
impl UnwindSafe for DiscoveryResult
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more