pub struct SemanticIndexPublication {
pub attachment: Option<ObjectAddress>,
pub root_hash: Vec<u8>,
pub source_tree_hash: Vec<u8>,
pub objects: Vec<SemanticClosureObject>,
}Expand description
Signed opening inventory for one client-attested native StateAttachment. At most one index for this exact opening Thread/revision. Original attachment bytes travel in TransferSidecar; all semantic object bytes travel in the declared native pack/index pair. The complete transitive closure includes binding-delta parents, edge target file nodes and reverse dependencies.
Fields§
§attachment: Option<ObjectAddress>algorithm “state-attachment”, native typed ID.
root_hash: Vec<u8>SemanticIndexRoot Blob hash, exactly 32 bytes.
source_tree_hash: Vec<u8>Exact State.tree native hash. SemanticIndexRoot.tree is a DIFFERENT hash naming the semantic tree; structural path/blob binding must also be checked.
objects: Vec<SemanticClosureObject>Unique, lexicographically hash-sorted full closure including root_hash. No semantic reference may be satisfied from an unrelated hosted CAS object.
Trait Implementations§
Source§impl Clone for SemanticIndexPublication
impl Clone for SemanticIndexPublication
Source§fn clone(&self) -> SemanticIndexPublication
fn clone(&self) -> SemanticIndexPublication
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 SemanticIndexPublication
impl Debug for SemanticIndexPublication
Source§impl Default for SemanticIndexPublication
impl Default for SemanticIndexPublication
Source§fn default() -> SemanticIndexPublication
fn default() -> SemanticIndexPublication
Source§impl Message for SemanticIndexPublication
impl Message for SemanticIndexPublication
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 SemanticIndexPublication
impl PartialEq for SemanticIndexPublication
impl StructuralPartialEq for SemanticIndexPublication
Auto Trait Implementations§
impl Freeze for SemanticIndexPublication
impl RefUnwindSafe for SemanticIndexPublication
impl Send for SemanticIndexPublication
impl Sync for SemanticIndexPublication
impl Unpin for SemanticIndexPublication
impl UnsafeUnpin for SemanticIndexPublication
impl UnwindSafe for SemanticIndexPublication
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<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