Module kitsune_p2p_dht::region_set
source · Expand description
A RegionSet is a compact representation of a set of Regions – the RegionCoords
defining the regions, and their associated RegionData
.
Currently we have only one scheme for specifying RegionSets, called “LTCS”. “LTCS” is an acronym standing for “Logarithmic Time, Constant Space”, and it refers to our current scheme of partitioning spacetime during gossip, which is to use a constant number of SpaceSegments (8..16) and a logarithmically growing number of TimeSegments, with larger segments to cover older times. In the future we may have other schemes.
Structs
A compact representation of a set of
RegionCoords
.
The TelescopingTimes
generates all relevant TimeSegment
s, and the
SpaceSegment
s are implied by the ArqBoundsSet
.Implementation for the compact LTCS region set format which gets sent over the wire.
The coordinates for the regions are specified by a few values.
The data to match the coordinates are specified in a 2D vector which must
correspond to the generated coordinates.
Enums
The generic definition of a set of Regions.
The current representation is very specific to our current algorithm,
but this is an enum to make room for a more generic representation, e.g.
a simple
Vec<Region>
, if we want a more intricate algorithm later.