Description
Is your feature request related to a problem? Please describe.
Currently client connects routes to peers based only on the latency between the client and the peer, this doesn't take into account that some routes could be geographically much further from the peer.
For example if I have a route pointing to a resource in western Europe, and I have two peers that can handle this route, one in west Europe and one in west US, and the client is in east US, the fastest route would be to choose the peer in Europe.
Describe the solution you'd like
Calculate latency for each route from each peer, this information could either be communicated peer-to-peer or through management service keeping a cache of peer-route-latency as reported by each routing peer.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
I understand that this feature could be difficult to implement given the peers know nothing about which ports are open and how to check for latency for a given route, but this possibly could be configured by the user per-route.
For example, when creating the route, the user can choose to use TCP 443 to check latency.