pub trait ExternalObjectSource: Send + Sync {
// Required methods
fn get_blob(&self, hash: &ContentHash) -> Result<Option<Blob>>;
fn get_tree(&self, hash: &ContentHash) -> Result<Option<Tree>>;
fn get_state(&self, id: &StateId) -> Result<Option<State>>;
fn list_states(&self) -> Result<Vec<StateId>>;
}Expand description
Read-only objects whose authoritative representation lives outside the
native Heddle object directory. Git-overlay repositories use this seam to
translate objects directly from .git without importing a second copy.
Required Methods§
fn get_blob(&self, hash: &ContentHash) -> Result<Option<Blob>>
fn get_tree(&self, hash: &ContentHash) -> Result<Option<Tree>>
fn get_state(&self, id: &StateId) -> Result<Option<State>>
fn list_states(&self) -> Result<Vec<StateId>>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".