ipn/ipnlocal: remember last notified taildrive shares and only notify if they've changed

Fixes #13195

Signed-off-by: Percy Wegmann <percy@tailscale.com>
This commit is contained in:
Percy Wegmann
2024-08-21 10:10:13 -05:00
committed by Percy Wegmann
parent 690d3bfafe
commit 4637ac732e
2 changed files with 16 additions and 7 deletions
+4 -1
View File
@@ -332,9 +332,12 @@ type LocalBackend struct {
// Last ClientVersion received in MapResponse, guarded by mu.
lastClientVersion *tailcfg.ClientVersion
// lastNotifiedDriveSharesMu guards lastNotifiedDriveShares
lastNotifiedDriveSharesMu sync.Mutex
// lastNotifiedDriveShares keeps track of the last set of shares that we
// notified about.
lastNotifiedDriveShares atomic.Pointer[views.SliceView[*drive.Share, drive.ShareView]]
lastNotifiedDriveShares *views.SliceView[*drive.Share, drive.ShareView]
// outgoingFiles keeps track of Taildrop outgoing files keyed to their OutgoingFile.ID
outgoingFiles map[string]*ipn.OutgoingFile