Struct holochain::prelude::dependencies::kitsune_p2p_types::dht::prelude::RegionCoords
pub struct RegionCoords {
pub space: Segment<SpaceOffset>,
pub time: Segment<TimeOffset>,
}
Expand description
The cross product of a space segment and at time segment forms a Region. Hence, these two segments are the coordinates which define a Region of spacetime.
Fields§
§space: Segment<SpaceOffset>
The space segment
time: Segment<TimeOffset>
The time segment
Implementations§
§impl RegionCoords
impl RegionCoords
pub fn new( space: Segment<SpaceOffset>, time: Segment<TimeOffset> ) -> RegionCoords
§impl RegionCoords
impl RegionCoords
pub fn to_bounds(&self, topo: &Topology) -> RegionBounds
pub fn to_bounds(&self, topo: &Topology) -> RegionBounds
Map the quantized coordinates into the actual Timestamp and DhtLocation bounds specifying the region
pub fn contains(&self, topo: &Topology, coords: &SpacetimeQuantumCoords) -> bool
pub fn contains(&self, topo: &Topology, coords: &SpacetimeQuantumCoords) -> bool
Does the region contain this spacetime quantum?
pub fn quadrisect(self) -> Option<Vec<RegionCoords, Global>>
pub fn quadrisect(self) -> Option<Vec<RegionCoords, Global>>
Split this region into 4 equal subregions, if possible. If one dimension is quantum, bisect the non-quantum dimension. If both dimensions are quantum, return None.
Trait Implementations§
§impl Clone for RegionCoords
impl Clone for RegionCoords
§fn clone(&self) -> RegionCoords
fn clone(&self) -> RegionCoords
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for RegionCoords
impl Debug for RegionCoords
§impl<'de> Deserialize<'de> for RegionCoords
impl<'de> Deserialize<'de> for RegionCoords
§fn deserialize<__D>(
__deserializer: __D
) -> Result<RegionCoords, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<RegionCoords, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl Hash for RegionCoords
impl Hash for RegionCoords
§impl Ord for RegionCoords
impl Ord for RegionCoords
§impl PartialEq<RegionCoords> for RegionCoords
impl PartialEq<RegionCoords> for RegionCoords
§fn eq(&self, other: &RegionCoords) -> bool
fn eq(&self, other: &RegionCoords) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.§impl PartialOrd<RegionCoords> for RegionCoords
impl PartialOrd<RegionCoords> for RegionCoords
§fn partial_cmp(&self, other: &RegionCoords) -> Option<Ordering>
fn partial_cmp(&self, other: &RegionCoords) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read more§impl Serialize for RegionCoords
impl Serialize for RegionCoords
§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,
Serialize this value into the given Serde serializer. Read more
impl Copy for RegionCoords
impl Eq for RegionCoords
impl StructuralEq for RegionCoords
impl StructuralPartialEq for RegionCoords
Auto Trait Implementations§
impl RefUnwindSafe for RegionCoords
impl Send for RegionCoords
impl Sync for RegionCoords
impl Unpin for RegionCoords
impl UnwindSafe for RegionCoords
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
§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>
Deserializes using the given deserializer
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
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>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.§impl<T> Upcastable for Twhere
T: Any + Send + Sync + 'static,
impl<T> Upcastable for Twhere T: Any + Send + Sync + 'static,
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref