pub enum ObjectSet {
Required,
Wanted,
NotNeeded,
}Expand description
How badly the caller needs the object set a push introduced.
A bool said only “enumerate it”, and that conflated two callers with
very different stakes:
- a policy gate over the pushed objects cannot decide without the set, so an engine that cannot produce one must refuse the push — passing it on an answer the engine never gave is the silent-yes this whole seam exists to prevent;
- the push attestation wants it and can record its absence
(
new_object_oids_unknown), so an engine that cannot produce one must still serve the push.
With one flag, teaching the attestation to ask made every push refuse on the
gix arm, which cannot enumerate at all. Two answers, one type.
Variants§
Required
A gate needs it. An engine that cannot answer must return an error.
Wanted
Wanted for the record. An engine that cannot answer returns None and
the push is served.
NotNeeded
Nobody asked. Do not pay for it.
Trait Implementations§
impl Copy for ObjectSet
impl Eq for ObjectSet
impl StructuralPartialEq for ObjectSet
Auto Trait Implementations§
impl Freeze for ObjectSet
impl RefUnwindSafe for ObjectSet
impl Send for ObjectSet
impl Sync for ObjectSet
impl Unpin for ObjectSet
impl UnsafeUnpin for ObjectSet
impl UnwindSafe for ObjectSet
Blanket Implementations§
impl<T> Allocation for T
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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>
Wrap the input message
T in a tonic::Request