pub struct SignedSpoolPolicy {
pub revoked_key_ids: Vec<Vec<u8>>,
pub max_audience: Option<i32>,
}Expand description
Offline-verifiable, owner-gated payload. NOT a copy of SpoolSettings. Substantive content: grow-only revocations + max_audience ceiling.
Fields§
§revoked_key_ids: Vec<Vec<u8>>Grow-only. Verifier key “revoked_key_ids”. Each entry is a 32-byte heddle-key-v1 signer_key_id (SHA-256(“heddle-key-v1” || algorithm || public_key)). Sorted unique. Empty is valid.
max_audience: Option<i32>Optional max existence/history audience. LWW. proto3 optional: canonical encoding uses an explicit presence byte. Absence = no own contribution to the inherited min. Present UNSPECIFIED fails closed. Discriminant order is restrictiveness: PRIVATE < MEMBERS < PUBLIC. Tightening PUBLIC → PRIVATE does not un-disclose bytes already cloned while the spool (or a descendant) was public. Tightening an ancestor’s ceiling likewise does not recall already-public descendants.
Implementations§
Source§impl SignedSpoolPolicy
impl SignedSpoolPolicy
Sourcepub fn max_audience(&self) -> Audience
pub fn max_audience(&self) -> Audience
Returns the enum value of max_audience, or the default if the field is unset or set to an invalid enum value.
Sourcepub fn set_max_audience(&mut self, value: Audience)
pub fn set_max_audience(&mut self, value: Audience)
Sets max_audience to the provided enum value.
Trait Implementations§
Source§impl Clone for SignedSpoolPolicy
impl Clone for SignedSpoolPolicy
Source§fn clone(&self) -> SignedSpoolPolicy
fn clone(&self) -> SignedSpoolPolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SignedSpoolPolicy
impl Debug for SignedSpoolPolicy
Source§impl Default for SignedSpoolPolicy
impl Default for SignedSpoolPolicy
Source§fn default() -> SignedSpoolPolicy
fn default() -> SignedSpoolPolicy
impl Eq for SignedSpoolPolicy
Source§impl Hash for SignedSpoolPolicy
impl Hash for SignedSpoolPolicy
Source§impl Message for SignedSpoolPolicy
impl Message for SignedSpoolPolicy
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for SignedSpoolPolicy
impl PartialEq for SignedSpoolPolicy
impl StructuralPartialEq for SignedSpoolPolicy
Auto Trait Implementations§
impl Freeze for SignedSpoolPolicy
impl RefUnwindSafe for SignedSpoolPolicy
impl Send for SignedSpoolPolicy
impl Sync for SignedSpoolPolicy
impl Unpin for SignedSpoolPolicy
impl UnsafeUnpin for SignedSpoolPolicy
impl UnwindSafe for SignedSpoolPolicy
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
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
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> 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