Struct kitsune_p2p::gossip::sharded_gossip::MissingOpHashes
source · pub struct MissingOpHashes {
pub ops: Vec<OpHashSized>,
pub finished: u8,
}
Expand description
Any ops that were missing from the remote bloom.
Fields§
§ops: Vec<OpHashSized>
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<()>where
W: Write,
fn encode<W>(&self, w: &mut W) -> Result<()>where
W: Write,
source§fn decode<R>(r: &mut R) -> Result<Self>where
R: Read,
fn decode<R>(r: &mut R) -> Result<Self>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<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl PartialEq for MissingOpHashes
impl PartialEq 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
impl StructuralPartialEq for MissingOpHashes
Auto Trait Implementations§
impl Freeze for MissingOpHashes
impl RefUnwindSafe for MissingOpHashes
impl Send for MissingOpHashes
impl Sync for MissingOpHashes
impl Unpin for MissingOpHashes
impl UnwindSafe for MissingOpHashes
Blanket Implementations§
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
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<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>
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> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moresource§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).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.