net/netmon: publish events to event bus
Updates #15160 Signed-off-by: David Anderson <dave@tailscale.com>
This commit is contained in:
committed by
M. J. Fromberger
parent
6d6f69e735
commit
5399fa159a
@@ -27,6 +27,7 @@ import (
|
||||
"tailscale.com/net/tshttpproxy"
|
||||
"tailscale.com/tailcfg"
|
||||
"tailscale.com/types/key"
|
||||
"tailscale.com/util/eventbus"
|
||||
)
|
||||
|
||||
var debugArgs struct {
|
||||
@@ -72,11 +73,14 @@ func debugMode(args []string) error {
|
||||
}
|
||||
|
||||
func runMonitor(ctx context.Context, loop bool) error {
|
||||
b := eventbus.New()
|
||||
defer b.Close()
|
||||
|
||||
dump := func(st *netmon.State) {
|
||||
j, _ := json.MarshalIndent(st, "", " ")
|
||||
os.Stderr.Write(j)
|
||||
}
|
||||
mon, err := netmon.New(log.Printf)
|
||||
mon, err := netmon.New(b, log.Printf)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -391,7 +391,7 @@ func run() (err error) {
|
||||
var netMon *netmon.Monitor
|
||||
isWinSvc := isWindowsService()
|
||||
if !isWinSvc {
|
||||
netMon, err = netmon.New(logf)
|
||||
netMon, err = netmon.New(sys.Bus.Get(), logf)
|
||||
if err != nil {
|
||||
return fmt.Errorf("netmon.New: %w", err)
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ func beWindowsSubprocess() bool {
|
||||
}
|
||||
|
||||
sys := tsd.NewSystem()
|
||||
netMon, err := netmon.New(log.Printf)
|
||||
netMon, err := netmon.New(sys.Bus.Get(), log.Printf)
|
||||
if err != nil {
|
||||
log.Fatalf("Could not create netMon: %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user