pub struct FileSystemRepository<D>where
D: Pouf,{ /* private fields */ }Expand description
A repository contained on the local file system.
Implementations§
Source§impl<D> FileSystemRepository<D>where
D: Pouf,
impl<D> FileSystemRepository<D>where
D: Pouf,
Sourcepub fn builder<P: Into<PathBuf>>(
local_path: P,
) -> FileSystemRepositoryBuilder<D>
pub fn builder<P: Into<PathBuf>>( local_path: P, ) -> FileSystemRepositoryBuilder<D>
Create a FileSystemRepositoryBuilder.
Sourcepub fn new<P: Into<PathBuf>>(local_path: P) -> Self
pub fn new<P: Into<PathBuf>>(local_path: P) -> Self
Create a new repository on the local file system.
Sourcepub fn batch_update(&self) -> FileSystemBatchUpdate<'_, D>
pub fn batch_update(&self) -> FileSystemBatchUpdate<'_, D>
Returns a FileSystemBatchUpdate for manipulating this repository. This allows callers to stage a number of mutations, and optionally write them all at once.
FileSystemBatchUpdate will try to update any changed metadata or targets in a single transaction, and will fail if there are any conflict writes, either by directly calling FileSystemRepository::store_metadata, FileSystemRepository::store_target, or another FileSystemRepository::batch_update.
Warning: The current implementation makes no effort to prevent manipulations of the underlying filesystem, either in-process, or by an external process.
Trait Implementations§
Source§impl<D> Debug for FileSystemRepository<D>
impl<D> Debug for FileSystemRepository<D>
Source§impl<D> RepositoryProvider<D> for FileSystemRepository<D>where
D: Pouf,
impl<D> RepositoryProvider<D> for FileSystemRepository<D>where
D: Pouf,
Source§fn fetch_metadata<'a>(
&'a self,
meta_path: &MetadataPath,
version: MetadataVersion,
) -> BoxFuture<'a, Result<Box<dyn AsyncRead + Send + Unpin + 'a>>>
fn fetch_metadata<'a>( &'a self, meta_path: &MetadataPath, version: MetadataVersion, ) -> BoxFuture<'a, Result<Box<dyn AsyncRead + Send + Unpin + 'a>>>
Source§fn fetch_target<'a>(
&'a self,
target_path: &TargetPath,
) -> BoxFuture<'a, Result<Box<dyn AsyncRead + Send + Unpin + 'a>>>
fn fetch_target<'a>( &'a self, target_path: &TargetPath, ) -> BoxFuture<'a, Result<Box<dyn AsyncRead + Send + Unpin + 'a>>>
Fetch the given target. Read more
Source§impl<D> RepositoryStorage<D> for FileSystemRepository<D>where
D: Pouf,
impl<D> RepositoryStorage<D> for FileSystemRepository<D>where
D: Pouf,
Source§fn store_metadata<'a>(
&'a self,
meta_path: &MetadataPath,
version: MetadataVersion,
metadata: &'a mut (dyn AsyncRead + Send + Unpin),
) -> BoxFuture<'a, Result<()>>
fn store_metadata<'a>( &'a self, meta_path: &MetadataPath, version: MetadataVersion, metadata: &'a mut (dyn AsyncRead + Send + Unpin), ) -> BoxFuture<'a, Result<()>>
Store the provided
metadata in a location identified by meta_path, version, and
D::extension(), overwriting any existing metadata at that location.Source§fn store_target<'a>(
&'a self,
target_path: &TargetPath,
read: &'a mut (dyn AsyncRead + Send + Unpin),
) -> BoxFuture<'a, Result<()>>
fn store_target<'a>( &'a self, target_path: &TargetPath, read: &'a mut (dyn AsyncRead + Send + Unpin), ) -> BoxFuture<'a, Result<()>>
Store the provided
target in a location identified by target_path, overwriting any
existing target at that location.Auto Trait Implementations§
impl<D> !Freeze for FileSystemRepository<D>
impl<D> RefUnwindSafe for FileSystemRepository<D>where
D: RefUnwindSafe,
impl<D> Send for FileSystemRepository<D>where
D: Send,
impl<D> Sync for FileSystemRepository<D>
impl<D> Unpin for FileSystemRepository<D>where
D: Unpin,
impl<D> UnsafeUnpin for FileSystemRepository<D>
impl<D> UnwindSafe for FileSystemRepository<D>where
D: UnwindSafe,
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