Refactor: Hex location use hextree::Cell
type
#797
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is something that I was planning on doing as part of HIP-109 changes I was going to be making.
So I thought I'd push it early to make it easier to review.
Got some advice from Jay to only use a
h3o::CellIndex
when you need toconvert to/from a LatLng. So we went with
hextree::Cell
for the type.hextree::Cell
is a loose wrapper around a u64. Parsing the value asearly as possible tightens the gaurantee that we can make valid types
that need use
Cell
s.It is also an attempt to remove discrepancies where some types carry a
i64
hex straight from a database, and other types carry au64
thatwere converted out of a database, even though they're goal is the same.
(see previous commit where
#[sqlx(try_from = "i64")]
was enabled bythe update to hextree).