Struct holochain::core::ribosome::guest_callback::validate::ValidateInvocation
source · [−]pub struct ValidateInvocation { /* private fields */ }
Expand description
An invocation of the validate callback function.
Implementations
sourceimpl ValidateInvocation
impl ValidateInvocation
pub fn new(
zomes_to_invoke: ZomesToInvoke,
data: &Op
) -> Result<Self, SerializedBytesError>
Trait Implementations
sourceimpl Clone for ValidateInvocation
impl Clone for ValidateInvocation
sourcefn clone(&self) -> ValidateInvocation
fn clone(&self) -> ValidateInvocation
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ValidateInvocation
impl Debug for ValidateInvocation
sourceimpl Invocation for ValidateInvocation
impl Invocation for ValidateInvocation
sourcefn zomes(&self) -> ZomesToInvoke
fn zomes(&self) -> ZomesToInvoke
Some invocations call into a single zome and some call into many or all zomes. An example of an invocation that calls across all zomes is init. Init must pass for every zome in order for the Dna overall to successfully init. An example of an invocation that calls a single zome is validation of an entry, because the entry is only defined in a single zome, so it only makes sense for that exact zome to define the validation logic for that entry. In the future this may be expanded to support a subset of zomes that is larger than one. For example, we may want to trigger a callback in all zomes that implement a trait/interface, but this doesn’t exist yet, so the only valid options are All or One. Read more
sourcefn fn_components(&self) -> FnComponentsⓘNotable traits for FnComponentsimpl Iterator for FnComponents type Item = String;
fn fn_components(&self) -> FnComponentsⓘNotable traits for FnComponentsimpl Iterator for FnComponents type Item = String;
Invocations execute in a “sparse” manner of decreasing specificity. In technical terms this
means that the list of strings in FnComponents will be concatenated into a single function
name to be called, then the last string will be removed and a shorter function name will
be attempted and so on until all variations have been attempted.
For example, if FnComponents was vec![“foo”, “bar”, “baz”] it would loop as “foo_bar_baz”
then “foo_bar” then “foo”. All of those three callbacks that are defined will be called
unless a definitive callback result is returned.
See CallbackResult::is_definitive
in zome_types.
All of the individual callback results are then folded into a single overall result value
as a From implementation on the invocation results structs (e.g. zome results vs. ribosome
results). Read more
sourcefn host_input(self) -> Result<ExternIO, SerializedBytesError>
fn host_input(self) -> Result<ExternIO, SerializedBytesError>
the serialized input from the host for the wasm call this is intentionally NOT a reference to self because ExternIO may be huge we want to be careful about cloning invocations Read more
fn auth(&self) -> InvocationAuth
Auto Trait Implementations
impl !RefUnwindSafe for ValidateInvocation
impl Send for ValidateInvocation
impl Sync for ValidateInvocation
impl Unpin for ValidateInvocation
impl !UnwindSafe for ValidateInvocation
Blanket Implementations
impl<T> Any for T where
T: Any + ?Sized,
impl<T> Any for T where
T: Any + ?Sized,
fn type_id_compat(&self) -> TypeId
fn type_id_compat(&self) -> TypeId
TODO: once 1.33.0 is the minimum supported compiler version, remove Any::type_id_compat and use StdAny::type_id instead. https://github.com/rust-lang/rust/issues/27745 Read more
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 T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
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 F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
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
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> 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 SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
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 T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
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