Struct tlrepo::ThreadLocalRepo
source · [−]pub struct ThreadLocalRepo { /* private fields */ }
Expand description
An object providing a thread-local copy of a git2::Repository
for each thread.
Implementations
sourceimpl ThreadLocalRepo
impl ThreadLocalRepo
sourcepub fn new(path: PathBuf) -> Self
pub fn new(path: PathBuf) -> Self
Create a ThreadLocalRepo
that opens the repository at the specified path on each thread.
sourcepub fn get(&self) -> Result<&Repository, Error>
pub fn get(&self) -> Result<&Repository, Error>
Get the git2::Repository
for this thread. Returns an error if the open fails.
Note that the cache of thread-local objects never gets pruned. If you’re running on a
long-running thread or a thread pool, call this method. If you’re running on a short-lived
thread, call get_uncached
instead.
sourcepub fn get_uncached(&self) -> Result<Repository, Error>
pub fn get_uncached(&self) -> Result<Repository, Error>
Get a new git2::Repository
, and don’t save it in the thread-local cache. Returns an error
if the open fails.
The cache of thread-local objects never gets pruned. If, over the lifetime of your process,
you run an unbounded number of threads that call get
and subsequently exit, the
thread-local cache will grow without bound. In such threads, use get_uncached
to open a
repository that won’t get cached.
Auto Trait Implementations
impl RefUnwindSafe for ThreadLocalRepo
impl Send for ThreadLocalRepo
impl Sync for ThreadLocalRepo
impl Unpin for ThreadLocalRepo
impl UnwindSafe for ThreadLocalRepo
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more