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 moresourceimpl 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 ⓘ
fn fn_components(&self) -> FnComponents ⓘ
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 moresourcefn 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 Twhere
T: Any + ?Sized,
impl<T> Any for Twhere
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 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
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> ⓘ
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 morefn 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<T> Upcastable for Twhere
T: 'static + Any + Send + Sync,
impl<T> Upcastable for Twhere
T: 'static + Any + Send + Sync,
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref