pub struct OpenRepo { /* private fields */ }Expand description
one authority because GitServe is GitOps.
So the second field is gone, and with it the paragraph that explained why
two fields were not two handles and why they could not be one upcast (trait
upcasting stabilised in Rust 1.86 and this workspace declares 1.85). There
is one Arc, one refcount cell, and one view of one transaction.
Implementations§
Source§impl OpenRepo
impl OpenRepo
Sourcepub fn serve(&self) -> &dyn GitServe
pub fn serve(&self) -> &dyn GitServe
The reading contract: inflated objects, headers, HEAD, emit_pack,
select — and, by the GitServe: GitOps supertrait, the eleven as well.
This is what the serving path holds. It blocks: every caller below is
already inside spawn_blocking or on a control-plane worker, and
The two-tier rule keeps the serving tier serial — request concurrency, no
intra-request fan-out.
Sourcepub fn unlogged(&self) -> &dyn GitServe
pub fn unlogged(&self) -> &dyn GitServe
The store with no log in front of it. The twin’s apply path and nothing else: a write here is invisible to this box’s transaction log.
Sourcepub fn git_dir(&self) -> &Path
pub fn git_dir(&self) -> &Path
Where this repository lives. The inherent twin of
RepoStore::git_dir, so callers that only want a path do not have to
have the trait in scope.
Sourcepub fn hash_kind(&self) -> Kind
pub fn hash_kind(&self) -> Kind
This repository’s hash algorithm — asked, never defaulted. See
RepoStore::hash_kind.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for OpenRepo
impl !UnwindSafe for OpenRepo
impl Freeze for OpenRepo
impl Send for OpenRepo
impl Sync for OpenRepo
impl Unpin for OpenRepo
impl UnsafeUnpin for OpenRepo
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request