mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-28 07:19:08 +01:00
@@ -0,0 +1,48 @@
|
||||
package netflow
|
||||
|
||||
import (
|
||||
"context"
|
||||
"sync"
|
||||
|
||||
"github.com/netbirdio/netbird/client/internal/netflow/logger"
|
||||
"github.com/netbirdio/netbird/client/internal/netflow/types"
|
||||
)
|
||||
|
||||
type Manager struct {
|
||||
mux sync.Mutex
|
||||
logger types.FlowLogger
|
||||
flowConfig *types.FlowConfig
|
||||
}
|
||||
|
||||
func NewManager(ctx context.Context) *Manager {
|
||||
return &Manager{
|
||||
logger: logger.New(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Manager) Update(update *types.FlowConfig) error {
|
||||
m.mux.Lock()
|
||||
defer m.mux.Unlock()
|
||||
if update == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
m.flowConfig = update
|
||||
|
||||
if update.Enabled {
|
||||
m.logger.Enable()
|
||||
return nil
|
||||
}
|
||||
|
||||
m.logger.Disable()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Manager) Close() {
|
||||
m.logger.Close()
|
||||
}
|
||||
|
||||
func (m *Manager) GetLogger() types.FlowLogger {
|
||||
return m.logger
|
||||
}
|
||||
Reference in New Issue
Block a user