Struct holochain::prelude::gossip::sharded_gossip::MissingOps
source · pub struct MissingOps {
pub ops: Vec<Arc<KitsuneOpData>, Global>,
pub finished: u8,
}
Expand description
Any ops that were missing from the remote bloom.
Fields
ops: Vec<Arc<KitsuneOpData>, Global>
The missing ops
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
sourceimpl Clone for MissingOps
impl Clone for MissingOps
sourcefn clone(&self) -> MissingOps
fn clone(&self) -> MissingOps
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Codec for MissingOps
impl Codec for MissingOps
sourcefn variant_type(&self) -> &'static str
fn variant_type(&self) -> &'static str
sourcefn encode<W>(&self, w: &mut W) -> Result<(), Error>where
W: Write,
fn encode<W>(&self, w: &mut W) -> Result<(), Error>where
W: Write,
sourcefn decode<R>(r: &mut R) -> Result<MissingOps, Error>where
R: Read,
fn decode<R>(r: &mut R) -> Result<MissingOps, Error>where
R: Read,
sourceimpl Debug for MissingOps
impl Debug for MissingOps
sourceimpl<'de> Deserialize<'de> for MissingOps
impl<'de> Deserialize<'de> for MissingOps
sourcefn deserialize<__D>(
__deserializer: __D
) -> Result<MissingOps, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<MissingOps, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
sourceimpl PartialEq<MissingOps> for MissingOps
impl PartialEq<MissingOps> for MissingOps
sourcefn eq(&self, other: &MissingOps) -> bool
fn eq(&self, other: &MissingOps) -> bool
sourceimpl Serialize for MissingOps
impl Serialize for MissingOps
sourcefn 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 MissingOps
Auto Trait Implementations
impl RefUnwindSafe for MissingOps
impl Send for MissingOps
impl Sync for MissingOps
impl Unpin for MissingOps
impl UnwindSafe for MissingOps
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
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
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
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>
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>
self
from the equivalent element of its
superset. Read morefn 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.