Struct DocumentAuthorization
pub struct DocumentAuthorization(/* private fields */);Expand description
Immutable local publication evidence. It is never serialized or minted from wire fields. Captured original guards outlive terminal invocation tracking.
Implementations§
§impl DocumentAuthorization
impl DocumentAuthorization
pub fn frontiers(&self) -> (&[ChangeHash], &[ChangeHash])
pub fn frontiers(&self) -> (&[ChangeHash], &[ChangeHash])
Inert captured frontiers for the concrete bounded body/range evaluator. These are not a substitute for its actual parsed causal-coverage proof.
pub fn check(
&self,
route: &RouteSpec,
mutation: &DocumentMutation,
) -> Result<(), String>
pub fn check( &self, route: &RouteSpec, mutation: &DocumentMutation, ) -> Result<(), String>
This verifies body binding and current contributors, not graph coverage. The concrete owner must ALSO call validate_owner_base with the actual bounded admission/parser’s complete mutation range under its owner turn.
pub fn check_binding(
&self,
route: &RouteSpec,
mutation: &DocumentMutation,
) -> Result<(), String>
pub fn check_binding( &self, route: &RouteSpec, mutation: &DocumentMutation, ) -> Result<(), String>
Structural binding only: safe under the concrete owner’s existing lock. This never invokes a lifecycle callback or opens authority/storage.
pub fn validate_owner_base(
&self,
actual: &[ChangeHash],
already_committed: impl FnMut(&ChangeHash) -> bool,
) -> Result<(), String>
pub fn validate_owner_base( &self, actual: &[ChangeHash], already_committed: impl FnMut(&ChangeHash) -> bool, ) -> Result<(), String>
actual comes from the bounded parser/admission of the exact body, not
these metadata fields. Unattributed changes must already exist in the
actual committed owner history. An omitted or invented range refuses.
pub fn validate_owner_contributors(
&self,
validate: impl FnMut(&PublishedInvocationRequest, &RouteSpec, &(dyn Any + Send + Sync + 'static)) -> Result<(), String>,
) -> Result<(), String>
pub fn validate_owner_contributors( &self, validate: impl FnMut(&PublishedInvocationRequest, &RouteSpec, &(dyn Any + Send + Sync + 'static)) -> Result<(), String>, ) -> Result<(), String>
The final owner validates each ORIGINAL private token against its already-held peer/ledger/time, including these exact delivery inputs and route. A successful downcast alone must never return authorization. This method invokes no ordinary lifecycle/Store-reopening callback.
Trait Implementations§
§impl Clone for DocumentAuthorization
impl Clone for DocumentAuthorization
§fn clone(&self) -> DocumentAuthorization
fn clone(&self) -> DocumentAuthorization
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for DocumentAuthorization
impl !RefUnwindSafe for DocumentAuthorization
impl Send for DocumentAuthorization
impl Sync for DocumentAuthorization
impl Unpin for DocumentAuthorization
impl UnsafeUnpin for DocumentAuthorization
impl !UnwindSafe for DocumentAuthorization
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more