Enum holochain_types::prelude::RecordEntry
pub enum RecordEntry<E = Entry>where
E: Borrow<Entry>,{
Present(E),
Hidden,
NA,
NotStored,
}
Expand description
Represents the different ways the entry_address reference within an action can be intepreted
Variants§
Present(E)
The Action has an entry_address reference, and the Entry is accessible.
Hidden
The Action has an entry_address reference, but we are in a public context and the entry is private.
NA
The Action does not contain an entry_address reference, so there will never be an associated Entry.
NotStored
The Action has an entry but was stored without it.
This can happen when you receive gossip of just an action
when the action type is a crate::EntryCreationAction
,
in particular for certain DhtOps
Implementations§
§impl<E> RecordEntry<E>where
E: Borrow<Entry>,
impl<E> RecordEntry<E>where E: Borrow<Entry>,
pub fn new(
vis: Option<&EntryVisibility>,
maybe_entry: Option<E>
) -> RecordEntry<E>
pub fn new( vis: Option<&EntryVisibility>, maybe_entry: Option<E> ) -> RecordEntry<E>
Constructor based on Action data
pub fn as_option(&self) -> Option<&E>
pub fn as_option(&self) -> Option<&E>
Provides entry data by reference if it exists
Collapses the enum down to the two possibilities of extant or nonextant Entry data
pub fn into_option(self) -> Option<E>
pub fn into_option(self) -> Option<E>
Provides entry data as owned value if it exists.
Collapses the enum down to the two possibilities of extant or nonextant Entry data
pub fn to_app_option<A>(&self) -> Result<Option<A>, SerializedBytesError>where
A: TryFrom<SerializedBytes, Error = SerializedBytesError>,
pub fn to_app_option<A>(&self) -> Result<Option<A>, SerializedBytesError>where A: TryFrom<SerializedBytes, Error = SerializedBytesError>,
Provides deserialized app entry if it exists
same as as_option but handles deserialization anything other than RecordEntry::Present returns None a present entry that fails to deserialize cleanly is an error a present entry that deserializes cleanly is returned as the provided type A
pub fn as_ref<'a>(&'a self) -> RecordEntry<&'a E>where
&'a E: Borrow<Entry>,
pub fn as_ref<'a>(&'a self) -> RecordEntry<&'a E>where &'a E: Borrow<Entry>,
Use a reference to the Entry, if present
pub fn to_grant_option(&self) -> Option<ZomeCallCapGrant>
pub fn to_grant_option(&self) -> Option<ZomeCallCapGrant>
Provides CapGrantEntry if it exists
same as as_option but handles cap grants anything other tha RecordEntry::Present for a Entry::CapGrant returns None
If no entry is available, return Hidden, else return Present
pub fn or_not_applicable(entry: Option<E>) -> RecordEntry<E>
pub fn or_not_applicable(entry: Option<E>) -> RecordEntry<E>
If no entry is available, return NotApplicable, else return Present
pub fn or_not_stored(entry: Option<E>) -> RecordEntry<E>
pub fn or_not_stored(entry: Option<E>) -> RecordEntry<E>
If no entry is available, return NotStored, else return Present
Trait Implementations§
§impl<'arbitrary, E> Arbitrary<'arbitrary> for RecordEntry<E>where
E: Borrow<Entry> + Arbitrary<'arbitrary>,
impl<'arbitrary, E> Arbitrary<'arbitrary> for RecordEntry<E>where E: Borrow<Entry> + Arbitrary<'arbitrary>,
§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<RecordEntry<E>, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<RecordEntry<E>, Error>
Self
from the given unstructured data. Read more§fn arbitrary_take_rest(
u: Unstructured<'arbitrary>
) -> Result<RecordEntry<E>, Error>
fn arbitrary_take_rest( u: Unstructured<'arbitrary> ) -> Result<RecordEntry<E>, Error>
Self
from the entirety of the given
unstructured data. Read more§impl<E> Clone for RecordEntry<E>where
E: Clone + Borrow<Entry>,
impl<E> Clone for RecordEntry<E>where E: Clone + Borrow<Entry>,
§fn clone(&self) -> RecordEntry<E>
fn clone(&self) -> RecordEntry<E>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl<'de, E> Deserialize<'de> for RecordEntry<E>where
E: Borrow<Entry> + Deserialize<'de>,
impl<'de, E> Deserialize<'de> for RecordEntry<E>where E: Borrow<Entry> + Deserialize<'de>,
§fn deserialize<__D>(
__deserializer: __D
) -> Result<RecordEntry<E>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<RecordEntry<E>, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
§impl<E> From<E> for RecordEntry<E>where
E: Borrow<Entry>,
impl<E> From<E> for RecordEntry<E>where E: Borrow<Entry>,
§fn from(entry: E) -> RecordEntry<E>
fn from(entry: E) -> RecordEntry<E>
§impl<E> PartialEq<RecordEntry<E>> for RecordEntry<E>where
E: PartialEq<E> + Borrow<Entry>,
impl<E> PartialEq<RecordEntry<E>> for RecordEntry<E>where E: PartialEq<E> + Borrow<Entry>,
§fn eq(&self, other: &RecordEntry<E>) -> bool
fn eq(&self, other: &RecordEntry<E>) -> bool
self
and other
values to be equal, and is used
by ==
.§impl<E> Serialize for RecordEntry<E>where
E: Borrow<Entry> + Serialize,
impl<E> Serialize for RecordEntry<E>where E: Borrow<Entry> + 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,
§impl TryFrom<&RecordEntry<Entry>> for SerializedBytes
impl TryFrom<&RecordEntry<Entry>> for SerializedBytes
§type Error = SerializedBytesError
type Error = SerializedBytesError
§fn try_from(
t: &RecordEntry<Entry>
) -> Result<SerializedBytes, SerializedBytesError>
fn try_from( t: &RecordEntry<Entry> ) -> Result<SerializedBytes, SerializedBytesError>
§impl TryFrom<RecordEntry<Entry>> for SerializedBytes
impl TryFrom<RecordEntry<Entry>> for SerializedBytes
§type Error = SerializedBytesError
type Error = SerializedBytesError
§fn try_from(
t: RecordEntry<Entry>
) -> Result<SerializedBytes, SerializedBytesError>
fn try_from( t: RecordEntry<Entry> ) -> Result<SerializedBytes, SerializedBytesError>
§impl TryFrom<SerializedBytes> for RecordEntry<Entry>
impl TryFrom<SerializedBytes> for RecordEntry<Entry>
§type Error = SerializedBytesError
type Error = SerializedBytesError
§fn try_from(
sb: SerializedBytes
) -> Result<RecordEntry<Entry>, SerializedBytesError>
fn try_from( sb: SerializedBytes ) -> Result<RecordEntry<Entry>, SerializedBytesError>
impl<E> Eq for RecordEntry<E>where E: Eq + Borrow<Entry>,
impl<E> StructuralEq for RecordEntry<E>where E: Borrow<Entry>,
impl<E> StructuralPartialEq for RecordEntry<E>where E: Borrow<Entry>,
Auto Trait Implementations§
impl<E> RefUnwindSafe for RecordEntry<E>where E: RefUnwindSafe,
impl<E> Send for RecordEntry<E>where E: Send,
impl<E> Sync for RecordEntry<E>where E: Sync,
impl<E> Unpin for RecordEntry<E>where E: Unpin,
impl<E> UnwindSafe for RecordEntry<E>where E: UnwindSafe,
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
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<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>
source§impl<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,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<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,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<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,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FromFd for Twhere
T: From<OwnedFd>,
impl<T> FromFd for Twhere T: From<OwnedFd>,
§impl<T> FromFilelike for Twhere
T: From<OwnedFd>,
impl<T> FromFilelike for Twhere T: From<OwnedFd>,
§fn from_filelike(owned: OwnedFd) -> T
fn from_filelike(owned: OwnedFd) -> T
Self
from the given filelike object. Read more§fn from_into_filelike<Owned>(owned: Owned) -> Twhere
Owned: IntoFilelike,
fn from_into_filelike<Owned>(owned: Owned) -> Twhere Owned: IntoFilelike,
Self
from the given filelike object
converted from into_owned
. Read more§impl<T> FromSocketlike for Twhere
T: From<OwnedFd>,
impl<T> FromSocketlike for Twhere T: From<OwnedFd>,
§fn from_socketlike(owned: OwnedFd) -> T
fn from_socketlike(owned: OwnedFd) -> T
Self
from the given socketlike object.§fn from_into_socketlike<Owned>(owned: Owned) -> Twhere
Owned: IntoSocketlike,
fn from_into_socketlike<Owned>(owned: Owned) -> Twhere Owned: IntoSocketlike,
Self
from the given socketlike object
converted from into_owned
.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> 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>
§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>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.