[][src]Crate smartpool_spatial


pub extern crate manhattan_tree;



A priority channel based on the manhattan tree, where each task corresponds to a coordinate in some coordinate space. A shared, atomic coordinate focus is stored, which can be shared between multiple SpatialChannels, and modified externally. The SpatialChannel will always execute the task with the lowest manhattan distance to the current value of the focus.



Under the hood, the manhattan tree always operates with u64 coordinates. Certain panics are known to occur when the u64 if at high magnitudes. As such, operations on manhattan trees are generic over a coordinate space, which defines a coordinate type, and code for converting that coordinate type into a [u64; 3] in which the 4 highest-endian bits are 0.


Coordinate types which have a [0, 0, 0] value.