Versions in this module Expand all Collapse all v0 v0.1.0 Feb 22, 2025 Changes in this version + const ReportDataSuggestedDescription + const ReportDataSuggestedIdentifier + var ErrIDAlreadyTaken = errors.New("device identifier already taken") + var ErrInvalidID = errors.New("invalid device identifier") + var ErrNotFound = errors.New("device not found") + func Register(name string, f NewTrackerFunc) + type NewTrackerFunc func(config.Settings) Tracker + type Registry struct + func NewRegistry(cfg config.Config) *Registry + func (r *Registry) AddDevice(d model.Device) error + func (r *Registry) ExecuteDeviceAction(id string, action string) error + func (r *Registry) FindDevice(id string) (model.Device, error) + func (r *Registry) GetDevices(status model.Status) []model.Device + func (r *Registry) RemoveDevice(id string) error + func (r *Registry) Start(ctx context.Context) + func (r *Registry) Stop() + func (r *Registry) UpdateDevice(id string, ud model.Device) (model.Device, error) + func (r *Registry) UpdateDevicesPresence(t time.Time) + type ReportPresenceFunc func(model.Interface, map[string]string) + type Tracker interface + Loop func(deviceReport ReportPresenceFunc, ctx context.Context, wg *sync.WaitGroup) error + Ping func(model.Device)