Struct holochain_types::prelude::Update
[−]pub struct Update<W = EntryRateWeight> {
pub author: HoloHash<Agent>,
pub timestamp: Timestamp,
pub action_seq: u32,
pub prev_action: HoloHash<Action>,
pub original_action_address: HoloHash<Action>,
pub original_entry_address: HoloHash<Entry>,
pub entry_type: EntryType,
pub entry_hash: HoloHash<Entry>,
pub weight: W,
}
Expand description
A action which specifies that some new Entry content is intended to be an update to some old Entry.
This action semantically updates an entry to a new entry. It has the following effects:
- Create a new Entry
- This is the action of that new entry
- Create a metadata relationship between the original entry and this new action
The original action is required to prevent update loops: If you update A to B and B back to A, and then you don’t know which one came first, or how to break the loop.
Fields
timestamp: Timestamp
action_seq: u32
prev_action: HoloHash<Action>
original_action_address: HoloHash<Action>
original_entry_address: HoloHash<Entry>
entry_type: EntryType
entry_hash: HoloHash<Entry>
weight: W
Implementations
impl Update<EntryRateWeight>
impl Update<EntryRateWeight>
pub fn from_builder(
common: ActionBuilderCommon,
original_entry_address: HoloHash<Entry>,
original_action_address: HoloHash<Action>,
entry_type: EntryType,
entry_hash: HoloHash<Entry>
) -> Update<EntryRateWeight>
Trait Implementations
impl ActionBuilder<Update<()>> for Update
impl ActionBuilder<Update<()>> for Update
fn build(self, common: ActionBuilderCommon) -> Update<()>
impl ActionUnweighed for Update<()>
impl ActionUnweighed for Update<()>
type Weighed = Update<EntryRateWeight>
type Weight = EntryRateWeight
fn weighed(self, weight: EntryRateWeight) -> Update<EntryRateWeight>
fn weighed(self, weight: EntryRateWeight) -> Update<EntryRateWeight>
Add a weight to this unweighed action, making it “weighed”.
The weight is determined by the weigh
callback, which is run on the
unweighed version of this action. Read more
fn weightless(self) -> Self::Weighed
fn weightless(self) -> Self::Weighed
Add zero weight to this unweighed action, making it “weighed”.
impl ActionWeighed for Update<EntryRateWeight>
impl ActionWeighed for Update<EntryRateWeight>
type Unweighed = Update<()>
type Weight = EntryRateWeight
fn into_action(self) -> Action
fn into_action(self) -> Action
Construct the full Action enum with this variant.
fn unweighed(self) -> Update<()>
fn unweighed(self) -> Update<()>
Erase the rate limiting weight info, creating an “unweighed” version
of this action. This is used primarily by validators who need to run the
weigh
callback on an action they received, and want to make sure their
callback is not using the predefined weight to influence the result. Read more
impl<'arbitrary, W> Arbitrary<'arbitrary> for Update<W>where
W: Arbitrary<'arbitrary>,
impl<'arbitrary, W> Arbitrary<'arbitrary> for Update<W>where
W: Arbitrary<'arbitrary>,
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Update<W>, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Update<W>, Error>
Generate an arbitrary value of Self
from the given unstructured data. Read more
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Update<W>, Error>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Update<W>, Error>
Generate an arbitrary value of Self
from the entirety of the given
unstructured data. Read more
impl<'de, W> Deserialize<'de> for Update<W>where
W: Deserialize<'de>,
impl<'de, W> Deserialize<'de> for Update<W>where
W: Deserialize<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<Update<W>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<Update<W>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<'a> From<&'a Update<EntryRateWeight>> for NewEntryActionRef<'a>
impl<'a> From<&'a Update<EntryRateWeight>> for NewEntryActionRef<'a>
sourcefn from(original: &'a Update) -> NewEntryActionRef<'a>
fn from(original: &'a Update) -> NewEntryActionRef<'a>
Converts to this type from the input type.
impl From<Update<EntryRateWeight>> for EntryCreationAction
impl From<Update<EntryRateWeight>> for EntryCreationAction
fn from(u: Update<EntryRateWeight>) -> EntryCreationAction
fn from(u: Update<EntryRateWeight>) -> EntryCreationAction
Converts to this type from the input type.
sourceimpl From<Update<EntryRateWeight>> for NewEntryAction
impl From<Update<EntryRateWeight>> for NewEntryAction
sourcefn from(original: Update) -> NewEntryAction
fn from(original: Update) -> NewEntryAction
Converts to this type from the input type.
impl HashableContent for Update<EntryRateWeight>
impl HashableContent for Update<EntryRateWeight>
fn hash_type(&self) -> <Update<EntryRateWeight> as HashableContent>::HashType
fn hash_type(&self) -> <Update<EntryRateWeight> as HashableContent>::HashType
The HashType which this content will be hashed to
fn hashable_content(&self) -> HashableContentBytes
fn hashable_content(&self) -> HashableContentBytes
Return a subset of the content, either as SerializedBytes “content”, which will be used to compute the hash, or as an already precomputed hash which will be used directly Read more
impl<W> PartialEq<Update<W>> for Update<W>where
W: PartialEq<W>,
impl<W> PartialEq<Update<W>> for Update<W>where
W: PartialEq<W>,
impl<W> Serialize for Update<W>where
W: Serialize,
impl<W> Serialize for Update<W>where
W: Serialize,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl<'a> TryFrom<&'a Action> for &'a Update<EntryRateWeight>
impl<'a> TryFrom<&'a Action> for &'a Update<EntryRateWeight>
type Error = WrongActionError
type Error = WrongActionError
The type returned in the event of a conversion error.
fn try_from(
value: &'a Action
) -> Result<&'a Update<EntryRateWeight>, <&'a Update<EntryRateWeight> as TryFrom<&'a Action>>::Error>
fn try_from(
value: &'a Action
) -> Result<&'a Update<EntryRateWeight>, <&'a Update<EntryRateWeight> as TryFrom<&'a Action>>::Error>
Performs the conversion.
impl TryFrom<&Update<EntryRateWeight>> for SerializedBytes
impl TryFrom<&Update<EntryRateWeight>> for SerializedBytes
type Error = SerializedBytesError
type Error = SerializedBytesError
The type returned in the event of a conversion error.
fn try_from(
t: &Update<EntryRateWeight>
) -> Result<SerializedBytes, SerializedBytesError>
fn try_from(
t: &Update<EntryRateWeight>
) -> Result<SerializedBytes, SerializedBytesError>
Performs the conversion.
impl TryFrom<Action> for Update<EntryRateWeight>
impl TryFrom<Action> for Update<EntryRateWeight>
type Error = WrongActionError
type Error = WrongActionError
The type returned in the event of a conversion error.
fn try_from(
value: Action
) -> Result<Update<EntryRateWeight>, <Update<EntryRateWeight> as TryFrom<Action>>::Error>
fn try_from(
value: Action
) -> Result<Update<EntryRateWeight>, <Update<EntryRateWeight> as TryFrom<Action>>::Error>
Performs the conversion.
impl TryFrom<SerializedBytes> for Update<EntryRateWeight>
impl TryFrom<SerializedBytes> for Update<EntryRateWeight>
type Error = SerializedBytesError
type Error = SerializedBytesError
The type returned in the event of a conversion error.
fn try_from(
sb: SerializedBytes
) -> Result<Update<EntryRateWeight>, SerializedBytesError>
fn try_from(
sb: SerializedBytes
) -> Result<Update<EntryRateWeight>, SerializedBytesError>
Performs the conversion.
impl TryFrom<Update<EntryRateWeight>> for SerializedBytes
impl TryFrom<Update<EntryRateWeight>> for SerializedBytes
type Error = SerializedBytesError
type Error = SerializedBytesError
The type returned in the event of a conversion error.
fn try_from(
t: Update<EntryRateWeight>
) -> Result<SerializedBytes, SerializedBytesError>
fn try_from(
t: Update<EntryRateWeight>
) -> Result<SerializedBytes, SerializedBytesError>
Performs the conversion.
impl<W> Eq for Update<W>where
W: Eq,
impl<W> StructuralEq for Update<W>
impl<W> StructuralPartialEq for Update<W>
Auto Trait Implementations
impl<W> RefUnwindSafe for Update<W>where
W: RefUnwindSafe,
impl<W> Send for Update<W>where
W: Send,
impl<W> Sync for Update<W>where
W: Sync,
impl<W> Unpin for Update<W>where
W: Unpin,
impl<W> UnwindSafe for Update<W>where
W: UnwindSafe,
Blanket Implementations
impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
impl<T> FutureExt for T
impl<T> FutureExt for T
fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T, C> HashableContentExtSync<T> for Cwhere
T: HashTypeSync,
C: HashableContent<HashType = T>,
impl<T, C> HashableContentExtSync<T> for Cwhere
T: HashTypeSync,
C: HashableContent<HashType = T>,
sourcefn into_hashed(self) -> HoloHashed<C>
fn into_hashed(self) -> HoloHashed<C>
Move into a HoloHashed
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more