ipn, ipn/ipnlocal: add Foreground field to ServeConfig

This PR adds a new field to the ServeConfig which maps
WatchIPNBus session ids to foreground serve configs.

The PR also adds a DeleteForegroundSession method to ensure the config
gets cleaned up on sessions ending.

Note this field is not currently used but will be in follow up work.

Updates #8489

Signed-off-by: Marwan Sulaiman <marwan@tailscale.com>
This commit is contained in:
Marwan Sulaiman
2023-09-05 14:33:18 -04:00
committed by Marwan Sulaiman
parent cb3b281e98
commit 45eeef244e
5 changed files with 41 additions and 0 deletions

View File

@@ -2014,6 +2014,8 @@ func (b *LocalBackend) WatchNotifications(ctx context.Context, mask ipn.NotifyWa
go b.pollRequestEngineStatus(ctx)
}
defer b.DeleteForegroundSession(sessionID) // TODO(marwan-at-work): check err
for {
select {
case <-ctx.Done():