Struct holochain::prelude::kitsune_p2p::gossip::sharded_gossip::MissingOpHashes
source · pub struct MissingOpHashes {
pub ops: Vec<RoughSized<Arc<KitsuneOpHash, Global>>, Global>,
pub finished: u8,
}
Expand description
Any ops that were missing from the remote bloom.
Fields§
§ops: Vec<RoughSized<Arc<KitsuneOpHash, Global>>, Global>
The missing op hashes
finished: u8
Ops that are missing from a bloom that you have sent.
These will be chunked into a maximum size of about 16MB.
If the amount of missing ops is larger then the
[ShardedGossipLocal::UPPER_BATCH_BOUND
] then the set of
missing ops chunks will be sent in batches.
Each batch will require a reply message of OpBatchReceived
in order to get the next batch.
This is to prevent overloading the receiver with too much
incoming data.
0: There is more chunks in this batch to come. No reply is needed.
1: This chunk is done but there is more batches
to come and you should reply with OpBatchReceived
when you are ready to get the next batch.
2: This is the final missing ops and there
are no more ops to come. No reply is needed.
See MissingOpsStatus
Trait Implementations§
source§impl Clone for MissingOpHashes
impl Clone for MissingOpHashes
source§fn clone(&self) -> MissingOpHashes
fn clone(&self) -> MissingOpHashes
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Codec for MissingOpHashes
impl Codec for MissingOpHashes
source§fn variant_type(&self) -> &'static str
fn variant_type(&self) -> &'static str
source§fn encode<W>(&self, w: &mut W) -> Result<(), Error>where
W: Write,
fn encode<W>(&self, w: &mut W) -> Result<(), Error>where W: Write,
source§fn decode<R>(r: &mut R) -> Result<MissingOpHashes, Error>where
R: Read,
fn decode<R>(r: &mut R) -> Result<MissingOpHashes, Error>where R: Read,
source§impl Debug for MissingOpHashes
impl Debug for MissingOpHashes
source§impl<'de> Deserialize<'de> for MissingOpHashes
impl<'de> Deserialize<'de> for MissingOpHashes
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<MissingOpHashes, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<MissingOpHashes, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
source§impl PartialEq<MissingOpHashes> for MissingOpHashes
impl PartialEq<MissingOpHashes> for MissingOpHashes
source§fn eq(&self, other: &MissingOpHashes) -> bool
fn eq(&self, other: &MissingOpHashes) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for MissingOpHashes
impl Serialize for MissingOpHashes
source§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 StructuralPartialEq for MissingOpHashes
Auto Trait Implementations§
impl RefUnwindSafe for MissingOpHashes
impl Send for MissingOpHashes
impl Sync for MissingOpHashes
impl Unpin for MissingOpHashes
impl UnwindSafe for MissingOpHashes
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<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.