Skip to content

Commit

Permalink
feat(link): add hard_link_hash (#82)
Browse files Browse the repository at this point in the history
Fixes: #80
  • Loading branch information
ShuiRuTian committed Jun 14, 2024
1 parent 3a71247 commit ab5f1c9
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion src/get.rs
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,16 @@ where
read::reflink_async(cache.as_ref(), sri, to.as_ref()).await
}

/// Hard links a cache entry by hash to a specified location.
#[cfg(any(feature = "async-std", feature = "tokio"))]
pub async fn hard_link_hash<P, Q>(cache: P, sri: &Integrity, to: Q) -> Result<()>
where
P: AsRef<Path>,
Q: AsRef<Path>,
{
read::hard_link_async(cache.as_ref(), sri, to.as_ref()).await
}

/// Hard links a cache entry by key to a specified location.
#[cfg(any(feature = "async-std", feature = "tokio"))]
pub async fn hard_link<P, K, Q>(cache: P, key: K, to: Q) -> Result<()>
Expand All @@ -412,7 +422,7 @@ where
{
async fn inner(cache: &Path, key: &str, to: &Path) -> Result<()> {
if let Some(entry) = index::find(cache, key)? {
read::hard_link_async(cache, &entry.integrity, to).await
hard_link_hash(cache, &entry.integrity, to).await
} else {
Err(Error::EntryNotFound(cache.to_path_buf(), key.into()))
}
Expand Down

0 comments on commit ab5f1c9

Please sign in to comment.