-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Roadmap to v2 #141
Comments
I have started this in |
Merged
I've released |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
net.IP
and*net.IPNet
withnetip.Addr
andnetip.Prefix
net/netip
SkipAliasedNetworks
the default when traversing a tree. Almost no one wants the IPv4 information to be repeated in several spots. We will need to deal with SkipAliasedNetworks produces unexpected results on IPv6 trees without an IPv4 subtree #79 when doing this.LookupOffset
with method that returns a struct rather than auintptr
. The returned value would have aDecode(any)
method to replace the current use of(*Reader).Decode
. Beyond the type safety and reducing the risk of a panic due to programmer error, this would provide the ability to do things like aDecodePath(result any, path ...any)
that could avoid most of the use of reflection and creating a struct to decode to when looking up a single value.(*Reader) Decode
is removed. See above.Lookup*
methods. Do we really needLookup
,LookupNetwork
, andLookupOffset
(or whatever the above replacement will be called)? Maybe theLookupOffset
replacement method from above could replace all of them, although we would have to think about how error handling would work so as not to make it more verbose (e.g., defer returning error from the tree lookup).FromBytes
toOpenBytes
or something as many people seem to overlook it.maxminddb
package.Networks*
traversal with an iterator.DecodePath
. Right now, it is hard to tell between a successful lookup and one that didn't find anything. The function could return a sentinel error, but that would be confusing as the other functions do not return that for not-found. Alternatively(bool, error)
might be sufficient.The text was updated successfully, but these errors were encountered: