Skip to main content

OpenRepo

Struct OpenRepo 

Source
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

Source

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.

Source

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.

Source

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.

Source

pub fn hash_kind(&self) -> Kind

This repository’s hash algorithm — asked, never defaulted. See RepoStore::hash_kind.

Trait Implementations§

Source§

impl RepoStore for OpenRepo

Source§

fn git_dir(&self) -> &Path

Where this repository lives. Read more
Source§

fn hash_kind(&self) -> Kind

This repository’s hash algorithm. Read more
Source§

fn git(&self) -> Arc<dyn GitServe> ⓘ

The repository, under the whole contract family. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more