mirror of
https://github.com/tailscale/tailscale.git
synced 2025-08-21 02:17:36 +00:00
portlist: add package doc, file comments, move a method to the right file
And respect envknob earlier. NewPoller has one caller and ignores errors; they just signal ipnlocal to log a warning and not use the portlist poller. Change-Id: I4a33af936fe780cca8c7197d4d74ac31a1dc01e3 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:

committed by
Brad Fitzpatrick

parent
774fa72d32
commit
70dde89c34
@@ -2,14 +2,16 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// This file is just the types. The bulk of the code is in poller.go.
|
||||
|
||||
// The portlist package contains code that checks what ports are open and
|
||||
// listening on the current machine.
|
||||
package portlist
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"tailscale.com/envknob"
|
||||
)
|
||||
|
||||
// Port is a listening port on the machine.
|
||||
@@ -74,29 +76,6 @@ func (pl List) String() string {
|
||||
return strings.TrimRight(sb.String(), "\n")
|
||||
}
|
||||
|
||||
var debugDisablePortlist = envknob.RegisterBool("TS_DEBUG_DISABLE_PORTLIST")
|
||||
|
||||
func (p *Poller) getList() (List, error) {
|
||||
if debugDisablePortlist() {
|
||||
return nil, nil
|
||||
}
|
||||
var err error
|
||||
p.scratch, err = appendListeningPorts(p.scratch[:0])
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("listPorts: %s", err)
|
||||
}
|
||||
pl := sortAndDedup(p.scratch)
|
||||
if pl.sameInodes(p.prev) {
|
||||
// Nothing changed, skip inode lookup
|
||||
return p.prev, nil
|
||||
}
|
||||
pl, err = addProcesses(pl)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("addProcesses: %s", err)
|
||||
}
|
||||
return pl, nil
|
||||
}
|
||||
|
||||
// sortAndDedup sorts ps in place (by Port.lessThan) and then returns
|
||||
// a subset of it with duplicate (Proto, Port) removed.
|
||||
func sortAndDedup(ps List) List {
|
||||
|
Reference in New Issue
Block a user