net/routecheck: tweak routecheck documentation and coding style
This patch is a follow-up for PR #19639 that does some cleanups. Updates #17366 Updates tailscale/corp#33033 Signed-off-by: Simon Law <sfllaw@tailscale.com>
This commit is contained in:
@@ -8609,7 +8609,7 @@ var ErrNoPreferredDERP = errors.New("no preferred DERP, try again later")
|
|||||||
// suggestExitNodeLocked computes a suggestion based on the current netmap and
|
// suggestExitNodeLocked computes a suggestion based on the current netmap and
|
||||||
// other optional factors. If there are multiple equally good options, one may
|
// other optional factors. If there are multiple equally good options, one may
|
||||||
// be selected at random, so the result is not stable. To be eligible for
|
// be selected at random, so the result is not stable. To be eligible for
|
||||||
// consideration, the peer must have NodeAttrSuggestExitNode in its CapMap.
|
// consideration, the peer must have [tailcfg.NodeAttrSuggestExitNode] in its CapMap.
|
||||||
//
|
//
|
||||||
// b.mu must be held.
|
// b.mu must be held.
|
||||||
func (b *LocalBackend) suggestExitNodeLocked() (response apitype.ExitNodeSuggestionResponse, err error) {
|
func (b *LocalBackend) suggestExitNodeLocked() (response apitype.ExitNodeSuggestionResponse, err error) {
|
||||||
@@ -8641,6 +8641,10 @@ func (b *LocalBackend) suggestExitNodeLocked() (response apitype.ExitNodeSuggest
|
|||||||
return res, err
|
return res, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SuggestExitNode computes an exit-node suggestion based on the current netmap and
|
||||||
|
// other optional factors. If there are multiple equally good options, one may
|
||||||
|
// be selected at random, so the result is not stable. To be eligible for
|
||||||
|
// consideration, the peer must have [tailcfg.NodeAttrSuggestExitNode] in its CapMap.
|
||||||
func (b *LocalBackend) SuggestExitNode() (response apitype.ExitNodeSuggestionResponse, err error) {
|
func (b *LocalBackend) SuggestExitNode() (response apitype.ExitNodeSuggestionResponse, err error) {
|
||||||
if !buildfeatures.HasUseExitNode {
|
if !buildfeatures.HasUseExitNode {
|
||||||
return response, feature.ErrUnavailable
|
return response, feature.ErrUnavailable
|
||||||
|
|||||||
@@ -137,8 +137,13 @@ func (c *Client) probe(ctx context.Context, nodes iter.Seq[probed], limit int, t
|
|||||||
metricPingError.Add(1)
|
metricPingError.Add(1)
|
||||||
return nil
|
return nil
|
||||||
default:
|
default:
|
||||||
c.vlogf("ping %s (%s): result: %f ms (err: %v)",
|
if pong.Err != "" {
|
||||||
n.addr, n.ID(), pong.LatencySeconds*1000, pong.Err)
|
c.vlogf("ping %s (%s): result: %f ms (err: %v)",
|
||||||
|
n.addr, n.ID(), pong.LatencySeconds*1000, pong.Err)
|
||||||
|
} else {
|
||||||
|
c.vlogf("ping %s (%s): result: %f ms",
|
||||||
|
n.addr, n.ID(), pong.LatencySeconds*1000)
|
||||||
|
}
|
||||||
metricPingReachable.Add(1)
|
metricPingReachable.Add(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Report returns the latest reachability report.
|
// Report returns the latest reachability report.
|
||||||
// Returns nil if a report isn’t available, which happens during initialization.
|
// It returns nil if a report isn’t available, which happens during initialization.
|
||||||
func (c *Client) Report() *Report {
|
func (c *Client) Report() *Report {
|
||||||
metricReport.Add(1)
|
metricReport.Add(1)
|
||||||
nm := c.nm.NetMapNoPeers()
|
nm := c.nm.NetMapNoPeers()
|
||||||
|
|||||||
@@ -195,9 +195,9 @@ func (c *Client) Close() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
ch := c.hasNetMap.Swap(nil) // clear before waking anything up
|
hasNetMap := c.hasNetMap.Swap(nil) // clear before waking anything up
|
||||||
if ch != nil && *ch != nil {
|
if hasNetMap != nil && *hasNetMap != nil {
|
||||||
close(*ch)
|
close(*hasNetMap) // wake waitForNetMap
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
Reference in New Issue
Block a user