Expand description

The main (and only) Sharded gossiping strategy

Structs

Accept an incoming round of gossip from a remote node

Send Agent Info Bloom

You have sent a stale initiate to a node that already has an active round with you.

Manages incoming and outgoing bandwidth by providing methods which asynchronously wait for enough bandwidth to become available before processing a chunk of bytes

Set of bandwidth throttles for all gossip loops.

The node currently is gossiping with too many other nodes and is too busy to accept your initiate. Please try again later.

The node you are gossiping with has hit an error condition and failed to respond to a request.

Initiate a round of gossip with a remote node

Any agents that were missing from the remote bloom.

Any ops that were missing from the remote bloom.

The node you are trying to gossip with has no agents anymore.

Send Ops Bloom

I have received a complete batch of missing ops and I am ready to receive the next batch.

The state representing a single active ongoing “round” of gossip with a remote node

The entry point for the sharded gossip strategy.

The parts of sharded gossip which are concerned only with the gossiping node:

The internal mutable state for ShardedGossipLocal

The internal mutable state for ShardedGossip

Enums

An encoded timed bloom filter of missing op hashes.

Gossip has two distinct variants which share a lot of similarities but are fundamentally different and serve different purposes

The possible states when receiving missing ops. Note this is not sent over the wire and is instead converted to a u8 to save bandwidth.

SimpleBloom Gossip Wire Protocol Codec

Functions

Create a [GossipModuleFactory]

Create a recent [GossipModuleFactory]