Struct ConfigWriteAuthorization
pub struct ConfigWriteAuthorization { /* private fields */ }Expand description
Proof that a mutation’s complete write set was authorized before its first side effect. The persist boundary requires one and re-checks that nothing outside the authorized set is about to be written, then publishes the policy of what it wrote through the admitting authority.
Implementations§
Source§impl ConfigWriteAuthorization
impl ConfigWriteAuthorization
Sourcepub fn covers_all<'a>(
&self,
dirty: impl IntoIterator<Item = &'a str>,
) -> Result<(), WriteDenied>
pub fn covers_all<'a>( &self, dirty: impl IntoIterator<Item = &'a str>, ) -> Result<(), WriteDenied>
Refuse when dirty, the paths about to be persisted, reaches
beyond the authorized write set: the handler could not identify its
complete write set up front, and a scoped principal is refused
rather than trusted with the remainder.
Sourcepub fn publish_persisted(&self, persisted: &Config)
pub fn publish_persisted(&self, persisted: &Config)
Publish the policy compiled from the configuration just persisted. The persist boundary proves the staged policy compiles before it writes, so a failure here is an invariant violation: it is logged, and the previously accepted policy stays in force.
Auto Trait Implementations§
impl !RefUnwindSafe for ConfigWriteAuthorization
impl !UnwindSafe for ConfigWriteAuthorization
impl Freeze for ConfigWriteAuthorization
impl Send for ConfigWriteAuthorization
impl Sync for ConfigWriteAuthorization
impl Unpin for ConfigWriteAuthorization
impl UnsafeUnpin for ConfigWriteAuthorization
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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