InetAddr: Use onion addresses instead of public keys #31
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.
I'm opening this PR to discuss the format of the Tor address variants. This change reflects how I would reason about them. I'm curious what the original reasoning behind the design of the type was. If there is another / better approach to this, I'm very open to implement that instead.
Define new Tor enum inner types for the
InetAddr
PartialSocketAddr
, andInetSocketAddr
types. Replace the usage of theTorPublicKeyV3
withOnionAddressV3
. While the two types are interchangeable,OnionAddressV3
is the human-readable format. For encoding purposes,OnionAddressV3
is converted toTorPublicKeyV3
in order to save some space.Additionally, adds port numbers to the
PartialSocketAddr
andInetSocketAddr
tor variants. This allows users to specify a specific port on which an onion address is listening.